Localizing Django

Various parts of Django, such as the admin site and validation error messages,are internationalized. This means they display differently depending on eachuser’s language or country. For this, Django uses the same internationalizationand localization infrastructure available to Django applications, described inthe i18n documentation.

Translations

Translations are contributed by Django users worldwide. The translation work iscoordinated at Transifex.

If you find an incorrect translation or want to discuss specific translations,go to the Django project page. If you would like to help out withtranslating or add a language that isn’t yet translated, here’s what to do:

  • Join the Django i18n mailing list andintroduce yourself.

  • Make sure you read the notes about Specialties of Django translation.

  • Sign up at Transifex and visit the Django project page.

  • On the Django project page, choose the language you want to work on,or – in case the language doesn’t exist yet –request a new language team by clicking on the “Request language” linkand selecting the appropriate language.

  • Then, click the “Join this Team” button to become a member of this team.Every team has at least one coordinator who is responsible to reviewyour membership request. You can of course also contact the teamcoordinator to clarify procedural problems and handle the actualtranslation process.

  • Once you are a member of a team choose the translation resource youwant to update on the team page. For example the “core” resource refersto the translation catalog that contains all non-contrib translations.Each of the contrib apps also have a resource (prefixed with “contrib”).

Note

For more information about how to use Transifex, read theTransifex User Guide.

Translations from Transifex are only integrated into the Django repository atthe time of a new feature release. We try to update them a second timeduring one of the following patch releases, but that depends on thetranslation manager’s availability. So don’t miss the string freeze period(between the release candidate and the feature release) to take the opportunityto complete and fix the translations for your language!

Formats

You can also review conf/locale/<locale>/formats.py. This file describesthe date, time and numbers formatting particularities of your locale. SeeFormat localization for details.

The format files aren’t managed by the use of Transifex. To change them, youmust create a patch against theDjango source tree, as for any code change:

  • Create a diff against the current Git master branch.
  • Open a ticket in Django’s ticket system, set its Component field toTranslations, and attach the patch to it.

Documentation

There is also an opportunity to translate the documentation, though this is ahuge undertaking to complete entirely (you have been warned!). We use the sameTransifex tool. Thetranslations will appear at https://docs.djangoproject.com/<language_code>/when at least the docs/intro/* files are fully translated in your language.