Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

[1.5.x] Made description of LANGUAGE_CODE setting more clear.

297f5af from master.
  • Loading branch information...
commit 9a7d59e8c7e90588fc0301fe09c11fbae9ffe1f3 1 parent bbe2ad3
@ramiro ramiro authored
Showing with 24 additions and 7 deletions.
  1. +16 −2 docs/ref/settings.txt
  2. +8 −5 docs/topics/i18n/translation.txt
View
18 docs/ref/settings.txt
@@ -1228,8 +1228,22 @@ LANGUAGE_CODE
Default: ``'en-us'``
A string representing the language code for this installation. This should be in
-standard :term:`language format<language code>`. For example, U.S. English is
-``"en-us"``. See :doc:`/topics/i18n/index`.
+standard :term:`language ID format <language code>`. For example, U.S. English
+is ``"en-us"``. See also the `list of language identifiers`_ and
+: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
.. setting:: LANGUAGE_COOKIE_NAME
View
13 docs/topics/i18n/translation.txt
@@ -1515,14 +1515,17 @@ should be used -- installation-wide, for a particular user, or both.
To set an installation-wide language preference, set :setting:`LANGUAGE_CODE`.
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
-file is available for it, all you need to do is set :setting:`LANGUAGE_CODE`.
+If all you want to do is run Django with your native language all you need to do
+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
-prefers, use ``LocaleMiddleware``. ``LocaleMiddleware`` enables language
-selection based on data from the request. It customizes content for each user.
+prefers, the you also need to use use the ``LocaleMiddleware``.
+``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 your :setting:`MIDDLEWARE_CLASSES` setting. Because middleware order
Please sign in to comment.
Something went wrong with that request. Please try again.