=======================================
Submitting and maintaining translations
=======================================

Various parts of Django, such as the admin site and validation error messages,
are internationalized. This means they display different text depending on each
user's language setting. For this, Django uses the same internationalization and
localization infrastructure available to Django applications, described in the
:doc:`i18n documentation</topics/i18n/index>`.

Internationalization
--------------------

Translations are contributed by Django users worldwide. The translation work is
coordinated at `Transifex`_.

If you find an incorrect translation or want to discuss specific translations,
go to the `translation team`_ page for that language. If you would like to help
out with translating or add a language that isn't yet translated, here's what to
do:

    * Join the `Django i18n mailing list`_ and introduce yourself.

    * Make sure you read the notes about :ref:`specialties-of-django-i18n`.

    * Signup at `Transifex`_ and visit the `Django project page`_.

    * On the `translation teams`_ page, choose the language team you want
      to work with, **or** -- in case the language team doesn't exist yet --
      request a new team by clicking on the "Request a new team" button
      and select 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 review
      your membership request. You can of course also contact the team
      coordinator to clarify procedural problems and handle the actual
      translation process.

    * Once you are a member of a team choose the translation resource you
      want to update on the team page. For example the "core" resource refers
      to the translation catalogue 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 the
         `Transifex User Guide`_.

Localization
------------

You can also review ``conf/locale/<locale>/formats.py``. This file describes
the date, time and numbers formatting particularities of your locale. See
:ref:`format-localization` for details.

The format files aren't managed by the use of Transifex. To change them, you
must :doc:`create a patch<writing-code/submitting-patches>` against the Django source tree, as for any code change:

    * Create a diff against the current Subversion trunk.

    * Open a ticket in Django's ticket system, set its ``Component`` field to
      ``Translations``, and attach the patch to it.

.. _Transifex: http://www.transifex.net/
.. _Django i18n mailing list: http://groups.google.com/group/django-i18n/
.. _Django project page: http://www.transifex.net/projects/p/django/
.. _translation team: http://www.transifex.net/projects/p/django/teams/
.. _translation teams: http://www.transifex.net/projects/p/django/teams/
.. _Transifex User Guide: http://help.transifex.net/
