ka-lite
ka-lite copied to clipboard
Make translations smoother: Remove application gettext translation from content packs
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.
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:
- A user-writable locale dir where they can drop in their own custom interface translations
- 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.