Devilry uses the Django localization platform/system. This means that:
Our translations are in the gettext
For the actual translation process, we use transifex.com.
Pushing files to Transifex requires you to be part of the Devilry core developer team.
If you are a normal developer and not responsible for managing translations, you just need to make sure to mark all trings for translation as described in the Django docs.
If you are a translator, you only need to ask for permission to the translation catalogs for you languages in our Transifex project, and none of the information in these docs should concern you.
How we organize the translations¶
All translations are added to
devilry/locale/. We do not add translation
per app for the following reasons:
There are lots of overlapping translation strings.
Easier to upload and maintain a single translation catalog on Transifex.
Before you can start pushing and pulling translation files
to/from Transifex, you will need to create a
should look like this:
[https://www.transifex.com] hostname = https://www.transifex.com username = myuser password = supersecret token =
More information here: http://docs.transifex.com/developer/client/config.
We translate using Transifex. This means that the workflow is:
Mark new translations or change existing translations.
Build the translation files (
Push translation files (
.pofiles) to Transifex.
Wait for translators to translate using Transifex.
Pull translation files (
.pofiles) from Transifex.
Compile translations and commit the
Below we go in detail for each of these steps. All commands assume the following:
$ cd /path/to/reporoot $ workon devilry-django
Mark new translations or change existing translations¶
Read the Django internationalization docs.
Build the translation files¶
First, make sure you have the latest po-files from transifex:
$ tx pull
We have a fabric task for that:
$ fab makemessages
Commit the changes to the
Push translation files to Transifex¶
$ tx push -s -t
to push the .po files to transifex.
Compile translations and commit the .mo files¶
We have a fabric task for compiling the translations:
$ cd /path/to/reporoot $ workon devilry-django $ fab compilemessages
This should change some
devilry/locale/. Commit those files.