Я пытаюсь реализовать интернационализацию в моем проекте, но страницы переводятся только на языке settings.LANGUAGE_CODE
.
Значение django_language
в сеансе пользователя установлено правильно, как и заголовок запроса META[HTTP_ACCEPT_LANGUAGE]
, но шаблоны по-прежнему отображаются со значением в LANGUAGE_CODE
.
Я должен использовать translation.activate(request.session['django_language'])
в своих представлениях для перевода страниц на нужный язык.
Есть ли способ перевести страницы без , используя translation.activate
?
Для информации:
- Требуемый язык для перевода -
pt-br
, который установлен по умолчанию LANGUAGES
.
- Если я установлю
pt-br
на LANGUAGE_CODE
, страницы будут переведены.
- Язык по умолчанию должен быть
en-us
.
- Моя локаль находится в корневом каталоге проекта.
Переменные локали на моем settings.py
:
LOCALEURL_USE_ACCEPT_LANGUAGE = True
LOCALE_PATHS = (
os.path.join(PROJECT_PATH, 'locale/'),
os.path.join(PROJECT_PATH, '/'),
)
TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.i18n",
'django.core.context_processors.request',
)
LANGUAGE_CODE = 'en-us'
USE_I18N = True
USE_L10N = True
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)