Translation

The App Store uses Django’s translation system.

Generating Translations

To initially add a language for translation run:

python manage.py makemessages -l $CODE -i venv

where $CODE is de for instance. This will create the required directories and files in the locales/ folder.

The above command only needs to be run if you want to add a new language. To update existing translation files run:

python manage.py makemessages -a -i venv

Note

The above requirements require exported environment variables and installed libraries. To find out how to do that see Development Installation.

Generating Database Translations

Certain translated strings like categories are stored in the database. If you change them in the database, you need to extract them into .po files. To do that run:

python manage.py create createdbtranslations
python manage.py makemessages -a -i venv

To import the translated messages back into the database run:

python manage.py compilemessages
python manage.py importdbtranslations

Deploying Translations

Each time the .po files are changed, they need to be compiled into a specific binary format for gettext using:

python manage.py compilemessages

Further details can be looked up in Django’s documentation online

Afterwards you want to import all the translated content in the database:

python manage.py importdbtranslations

Managing Translations

Translations are managed on Transifex. If you want to help translating the App Store, click the Join team button and create an issue on our issue tracker if your request takes longer than 2 days to process.

All translatable languages for the App Store can be found on its resources page. Select the language you want to translate and hit the Translate or view strings online button.

Translated content will be pulled daily from Transifex.