ka-lite icon indicating copy to clipboard operation
ka-lite copied to clipboard

Make translations smoother: Remove application gettext translation from content packs

Open benjaoming opened this issue 8 years ago • 1 comments

Summary

Crowdin and Transifex have command line utilities for synchronizing translations and source languages.

In order to make our application structure much more conventional and get rid of our language hacks, we should use a conventional structure for locale files.

I would suggest having all (partly) translated languages distributed in kalite/locale.

Looking at the configuration for the crowndin client, it seems possible to add a versioned remote path:

https://pypi.python.org/pypi/crowdin-client

This will also mean that we can start tracking message files (django.po) in the repository, which should give us an improved release tracking.

In the end, this should also make room for introducing additional translations between minor releases, circumventing the content packs.

I think it's good to introduce the pattern in KA Lite because it'll solve some of the tech debt and inspire our internationalization of Kolibri.

benjaoming avatar Sep 20 '16 13:09 benjaoming

Okay, in tonight's KA Lite sync-up, @aronasorman and I discussed that some deployments who are doing their own translations based on old instructions might expect:

  1. A user-writable locale dir where they can drop in their own custom interface translations
  2. To be able to have a custom-generated content pack include django.po interface translations

Because we don't wanna introduce a new behaviour while maintaining a legacy one, we are dumping this suggestion for 0.17.

benjaoming avatar Sep 20 '16 19:09 benjaoming