Internationalisation¶
django CMS excels in its multilingual support, and can be configured to handle a vast range of different requirements. Its
behaviour is flexible and can be controlled at a granular level in CMS_LANGUAGES
. Other Internationalisation and localisation (I18N and L10N) settings offer further control.
See How to serve multiple languages on how to set up a multilingual django CMS project.
URLs¶
Multilingual URLs require the use of i18n_patterns()
. For more information about this see
the official Django documentation
on the subject. Multilingual URLs describes what you need to do in a django CMS project.
How django CMS determines which language to serve¶
django CMS uses a number of standard Django mechanisms to choose the language for the user, in the following order of preference:
language code in the URL - for example,
http://example.com/de
(when multilingual URLs are enabled)language stored in the browsing session
language stored in a cookie from a previous session
language requested by the browser in the
Accept-Language
headerthe default
LANGUAGE_CODE
in the site’s settings
More in-depth documentation about this is available at https://docs.djangoproject.com/en/dev/topics/i18n/translation/#how-django-discovers-language-preference