From f6fefbf8cb0f44126adcd052916bca4b872c565a Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Thu, 2 Jun 2016 18:51:09 +0200 Subject: [PATCH] Fixed #26337 -- Added i18n note about using a non-English base language Thanks Cristiano Coelho for the report and Tim Graham for the review. --- docs/topics/i18n/translation.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/topics/i18n/translation.txt b/docs/topics/i18n/translation.txt index b0d63184e4..1f34b7af6c 100644 --- a/docs/topics/i18n/translation.txt +++ b/docs/topics/i18n/translation.txt @@ -2196,3 +2196,21 @@ to produce the binary ``.mo`` files that are used by ``gettext``. You can also run :djadmin:`django-admin compilemessages --settings=path.to.settings ` to make the compiler process all the directories in your :setting:`LOCALE_PATHS` setting. + +Using a non-English base language +--------------------------------- + +Django makes the general assumption that the original strings in a translatable +project are written in English. You can choose another language, but you must be +aware of certain limitations: + +* ``gettext`` only provides two plural forms for the original messages, so you + will also need to provide a translation for the base language to include all + plural forms if the plural rules for the base language are different from + English. + +* When an English variant is activated and English strings are missing, the + fallback language will not be the :setting:`LANGUAGE_CODE` of the project, + but the original strings. For example, an English user visiting a site with + Spanish as the default language and original strings written in Russian will + fallback to Russian, not to Spanish.