Made description of LANGUAGE_CODE setting more clear.

This commit is contained in:
Ramiro Morales 2013-08-22 08:25:21 -03:00
parent 8cd8742981
commit 297f5af222
2 changed files with 21 additions and 7 deletions

View File

@ -1290,11 +1290,22 @@ LANGUAGE_CODE
Default: ``'en-us'`` Default: ``'en-us'``
A string representing the language code for this installation. This should be A string representing the language code for this installation. This should be in
in standard :term:`language format<language code>`. For example, U.S. English standard :term:`language ID format <language code>`. For example, U.S. English
is ``"en-us"``. See also the `list of language identifiers`_ and is ``"en-us"``. See also the `list of language identifiers`_ and
:doc:`/topics/i18n/index`. :doc:`/topics/i18n/index`.
:setting:`USE_I18N` must be active to this setting to have any effect.
it serves two purposes:
* If the locale middleware isn't in use, it decides which translation is served
to all users.
* If the locale middleware is active, it provides the fallback translation when
no translation exist for a given literal to the user preferred language.
See :ref:`how-django-discovers-language-preference` for more details.
.. _list of language identifiers: http://www.i18nguy.com/unicode/language-identifiers.html .. _list of language identifiers: http://www.i18nguy.com/unicode/language-identifiers.html
.. setting:: LANGUAGE_COOKIE_NAME .. setting:: LANGUAGE_COOKIE_NAME

View File

@ -1550,14 +1550,17 @@ should be used -- installation-wide, for a particular user, or both.
To set an installation-wide language preference, set :setting:`LANGUAGE_CODE`. To set an installation-wide language preference, set :setting:`LANGUAGE_CODE`.
Django uses this language as the default translation -- the final attempt if no Django uses this language as the default translation -- the final attempt if no
other translator finds a translation. better matching translation is found by one of the methods employed by the
locale middleware (see below).
If all you want to do is run Django with your native language, and a language If all you want to do is run Django with your native language all you need to do
file is available for it, all you need to do is set :setting:`LANGUAGE_CODE`. is set :setting:`LANGUAGE_CODE` and make sure the corresponding :term:`message
files <message file>` and their compiled versions (``.mo``) exist.
If you want to let each individual user specify which language he or she If you want to let each individual user specify which language he or she
prefers, use ``LocaleMiddleware``. ``LocaleMiddleware`` enables language prefers, the you also need to use use the ``LocaleMiddleware``.
selection based on data from the request. It customizes content for each user. ``LocaleMiddleware`` enables language selection based on data from the request.
It customizes content for each user.
To use ``LocaleMiddleware``, add ``'django.middleware.locale.LocaleMiddleware'`` To use ``LocaleMiddleware``, add ``'django.middleware.locale.LocaleMiddleware'``
to your :setting:`MIDDLEWARE_CLASSES` setting. Because middleware order to your :setting:`MIDDLEWARE_CLASSES` setting. Because middleware order