Django язык по умолчанию i18n_patterns - PullRequest
0 голосов
/ 21 февраля 2020

Я использую i18n_patterns для изменения префикса языка в URL. Работает нормально, установлен языковой повар ie. Проблема в том, что он добавляет / en /, когда я пытаюсь получить доступ к странице без кода языка в приватном окне, хотя мой предпочтительный язык не en (по умолчанию установлен в settings.LANGUAGE_CODE).

* Документация 1011 * гласит, что для выбора языка будет использоваться следующее:

Сначала он ищет префикс языка в запрошенном URL. В противном случае он ищет ключ LANGUAGE_SESSION_KEY в сеансе текущего пользователя. В противном случае он ищет повара ie. Имя используемого повара ie задается параметром LANGUAGE_COOKIE_NAME. (Имя по умолчанию - django_language.) В противном случае он просматривает HTTP-заголовок Accept-Language. Этот заголовок отправляется вашим браузером и сообщает серверу, какой язык (языки) вы предпочитаете, в порядке приоритета. Django пробует каждый язык в заголовке, пока не найдет язык с доступными переводами. В противном случае он использует глобальную настройку LANGUAGE_CODE.

Так что причина, по которой я получаю префикс / en / в своем URL, когда нет набора cook ie, заключается в HTTP-заголовке Accept-Language , Как я могу решить, что если кто-то посещает мой сайт в первый раз, когда нет повара ie, от i18n до go до последнего шага, чтобы получить язык из глобального LANGUAGE_CODE?

...