############################################# Localization/internationalization/translation ############################################# ******************************** How we organize the translations ******************************** All translations are added to ``django_cradmin/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. .. _configure_transifex: ******************* Configure Transifex ******************* Before you can start pushing and pulling translation files to/from Transifex, you will need to create a ``~/.transifexrc``. It 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. ******************* Translation process ******************* We translate using Transifex. This means that the workflow is: 1. Mark new translations or change existing translations. 2. Build the translation files (``.po`` files). 3. Push translation files (``.po`` files) to Transifex. 4. Wait for translators to translate using Transifex. 5. Pull translation files (``.po`` files) from Transifex. 6. Compile translations and commit the ``.mo`` files. Below we go in detail for each of these steps. All commands assume the following:: $ cd /path/to/reporoot $ workon django_cradmin 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:: $ inv makemessages Commit the changes to the ``.po``-files in ``django_cradmin/locale/``. Push translation files to Transifex =================================== Run:: $ 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 django_cradmin $ inv compilemessages This should change some ``.mo``-files in ``django_cradmin/locale/``. Commit those files.