Я использую Django с мезонином.Я установил языки следующим образом:
LANGUAGE_CODE = "en"
MODELTRANSLATION_DEFAULT_LANGUAGE = 'cs'
LANGUAGES = (
('cs', _('Čeština')),
('en', _('Angličtina')),
)
Я НЕ использую язык в URL.
Проблема в том, что язык по умолчанию для нового сеанса выбирается в соответствии с настройками браузера, однако он должен быть ENвсегда.
Как этого добиться?
Могу себе представить, что можно заменить https://docs.djangoproject.com/en/2.1/_modules/django/middleware/locale/ моим собственным промежуточным программным обеспечением.Я думаю, мне следует изменить функцию:
def process_request(self, request):
urlconf = getattr(request, 'urlconf', settings.ROOT_URLCONF)
i18n_patterns_used, prefixed_default_language = is_language_prefix_patterns_used(urlconf)
language = translation.get_language_from_request(request, check_path=i18n_patterns_used)
language_from_path = translation.get_language_from_path(request.path_info)
if not language_from_path and i18n_patterns_used and not prefixed_default_language:
language = settings.LANGUAGE_CODE
translation.activate(language)
request.LANGUAGE_CODE = translation.get_language()
Есть ли более простой вариант?
Что мне следует изменить в упомянутой функции, чтобы добиться желаемого поведения?