2016-05-05 2 views
3

Возможно ли иметь многоязычное содержание в django CMS без с использованием кода языка в URL-адресах, поскольку django CMS также использует сеанс и файлы cookie для отслеживания предпочтительного языка пользователя?Возможно ли иметь многоязычный сайт CMS django без использования кодов языков в URL-адресе?

Если этого не может быть достигнуто, в чем причина ограничения?

ответ

5

В настоящее время то, что вам требуется, невозможно.

Если обойтись без кода (it, en или любой другой) в URL, путем изменения регистрации шаблона URL из:

urlpatterns = i18n_patterns('', 
    url(r'^', include('cms.urls')), 
) 

в

urlpatterns = patterns('', 
    url(r'^', include('cms.urls')), 
) 

вы также потерять доступ к языковым версиям контента.

Выполнение только для одноязычный сайт.

См. django CMS internationalisation documentation для получения дополнительной информации.

Это правда, что CMS также принимает к сведению сеанс и файл cookie, но на самом деле перенаправляет на правильный код языка - потеряйте это, и вы никогда не перенаправитесь на нужный язык.

К сожалению, вам нужно будет выбрать одноязычный сайт или принять URL-адреса, содержащие языковые пули. Вы можете, конечно, поделиться URL-адреса, которые не имеют имеют язык slug, и в этом случае система будет fall back through various clues, чтобы найти нужный язык, - и тогда, разумеется, перенаправится на URL-адрес, содержащий код.

Что касается основополагающего принципа для системы управления контентом, что общедоступный URL-адрес такого рода должен надежно указывать на один и тот же контент, а не на потенциально неожиданный контент.

Возможно, есть случай, позволяющий различать поведение, но на данный момент это то, как обстоят дела.

+0

Является ли это функцией django или функцией django cms? Я понимаю, что функция 'i18n_patterns()' как часть django создает код языка в URL-адресе. – Fabian

+0

django CMS использует среду языков Django и, в частности, префикс языка для загрузки правильного языка при загрузке страницы; таким образом, это функция CMS django, использующая базовую функцию Django – yakky

 Смежные вопросы

  • Нет связанных вопросов^_^