Обслуживание контента на нескольких языках

Основные понятия

django CMS обладает развитой многоязычной функциональностью. Она способна предоставлять контент на нескольких языках с возможностью возврата на другие языки, если перевод не был предоставлен. Кроме того, пользователь может установить предпочтительный язык и т.д.

Как django CMS определяет предпочтительный язык пользователя

django CMS определяет язык пользователя так же, как это делает Django.

  • префикс кода языка в URL

  • язык, установленный в сессии

  • язык в языковом печенье

  • язык, который, по мнению браузера, предпочитает его пользователь

Для этого используются встроенные возможности django.

По умолчанию сессия и cookie не устанавливаются. Если вы хотите включить эту функцию, используйте cms.middleware.language.LanguageCookieMiddleware для установки cookie при каждом запросе.

Как django CMS определяет, на каком языке работать

Определив язык пользователя, он попытается учесть его, используя языки, установленные в CMS_LANGUAGES.

Если установлено значение fallbacks, и если предпочтительный язык пользователя недоступен для данного содержимого, то будут использоваться фалбэки, указанные для языка в CMS_LANGUAGES.

Что django CMS показывает в ваших меню

Если hide_untranslated равно True (по умолчанию), то страницы, не переведенные на нужный язык, не будут отображаться в меню.

Вернуться на верх