проблема python/django с сессиями и языком

У меня следующая проблема: на главной странице я могу изменить язык. Новый язык сохраняется в request.session['django_language']. У меня также установлен SESSION_COOKIE_DOMAIN для моего сайта, поэтому сеанс должен наследоваться поддоменами. И это потому, что после смены языка я проверяю request.session['django_language'] в поддоменах, и все в порядке. Затем я использую

django.middleware.locale.LocaleMiddleware

перевести мои страницы. И работает отлично... только на основном сайте! Если я поменяю язык и обновлю основной сайт - все в порядке. Однако, если я меняю язык и перехожу на подстраницу (например, /LogIn), то страница вообще НЕ переводится. Он остается на языке по умолчанию. Это действительно странно, потому что если я использую

{% load i18n %} {% get_current_language as lang %}

на этой подстранице, тогда lang — хороший язык. Нет никакой ошибки. Что это может быть за проблема? Некоторые предложения?


person freakish    schedule 04.03.2011    source источник


Ответы (1)


Кажется, проблема заключалась в использовании ugettext. Я изменил на ugettext_lazy, и теперь он отлично работает. По какой-то причине ugettext переводится на старый язык. Теперь он работает нормально.

person freakish    schedule 08.03.2011