Я использую Django 1.6, и мне кажется, что у меня что-то не хватает, но файлы cookie настроены на выбранный язык, но язык отображения остается по умолчанию.Изменение языка Django не работает
Соответствующий код:
settings.py
LANGUAGES = (
('hu', 'Hungarian'),
('en', 'English'),
)
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages",
"django.core.context_processors.request"
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware'
)
LANGUAGE_CODE = 'en-US'
TIME_ZONE = 'CET'
USE_I18N = True
USE_L10N = True
USE_TZ = True
urls.py
urlpatterns = patterns('',
url(r'^i18n/', include('django.conf.urls.i18n')),
...
)
шаблон
{% extends 'base.html' %}
{% load i18n %}
...
<h4>{% trans "Modern Technologies" %}</h4>
...
Я запустил makemessages -a для создания lang-файлов, установка rosetta и редактирование языков. Затем я побежал compilemessages. При проверке в Chrome cookie «django_language» get установлен правильно. Но фактический текст по-прежнему является стандартом «Современные технологии».
Я изменил порядок, чтобы соответствовать этому, но при этом он не меняет отображаемый язык :( – Tusk
1. Попробовали ли вы установить язык снова после того, как вы изменили заказ? 2. Используете ли вы Django 1.6 .1 или Django 1.6.0? –
1. Несомненно. Я даже изменил LANGUAGE_CODE на «hu», и это ничего не изменит. 2. 1.6.1 – Tusk