2014-01-30 5 views
8

У меня есть сайт django 1.6 с работой i18n. Я могу изменить внешний интерфейс с помощью окна выбора в верхней части шаблона, но я не знаю, есть ли приложение или трюк django для изменения языка администратора, потому что он, кажется, хранит где-то в переменной сеанса, и он сохраняет первый язык, который я использовал в интерфейсе.Как я могу изменить язык администратора Django?

ответ

10

Вы можете создать /en/admin, /fr/admin/ и так далее, используя i18n_patterns:

urlpatterns += i18n_patterns(
    url(r'^admin/', include(admin.site.urls)), 
) 

(Для Джанго < = 1.7, необходимо указать префикс, используйте i18n_patterns('', ...))

+0

он правильно меняет язык приложения. но он доцент меняет языковой файл, который я также предоставил. как я могу загрузить этот язык? можешь мне помочь ? [мой вопрос] (http://stackoverflow.com/questions/39102538/language-file-dosent-load-automaticaly-in-django) @Udi –

9

В вашем settings.py просто добавить 'django.middleware.locale.LocaleMiddleware' на ваш MIDDLEWARE_CLASSES настройка, удостоверяясь, что она появляется после 'django.contrib.sessions.middleware.SessionMiddleware'.

+0

Интересно, почему он был опущен. Это именно то, чего мне не хватало. –

+0

Хороший ответ, это легко и работает, но как пользователь может изменить язык? В зависимости от языка, установленного в браузере, не всегда является хорошим решением. –

+0

Добавление .locale.LocaleMiddleware - единственное, что необходимо. Тогда администратор будет на языке, который наиболее предпочтителен в настройках браузера пользователей. – mirek

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