i cant force django для перевода строк, выбор языка из запроса правильный, но у меня нет переведенных строк.django перевод не работает для меня
может быть, здесь может быть проблема: когда я запустить оболочку, возвращаемые language_code
не равно, как я имею в settings.py
gettext = lambda s: s
USE_I18N = True
USE_L10N = True
LANGUAGE_CODE = 'en'
LANGUAGES = (
('cs', gettext('Czech')),
('en', gettext('English')),
)
>>> from django.utils import translation
>>>
>>> translation.get_language()
'en-us'
>>> from django.conf import settings
>>> settings.LANGUAGE_CODE
'en'
мой файл сообщений в locale/cs/LC_MESSAGES/django.{mo,po}
у меня есть это содержание там (в переводе сокр недели короткий имена):
msgid "Mo Tu We Th Fr Sa Su"
msgstr "Po Út St Čt Pá So Ne"
в виду, когда я получаю правильное значение 'CS'
print get_language()
'cs'
и следующая строка ugettext
ugettext('Mo Tu We Th Fr Sa Su')
'Mo Tu We Th Fr Sa Su'
, но я ожидал
'Po Út St Čt Pá So Ne'
может кто-нибудь сказать мне, где может быть проблема? : o)
Django использует сеанс var для определения языка пользователя, поэтому, вероятно, именно по этой причине вы не получаете правильный язык в своей оболочке. – petkostas
Вы активировали промежуточное ПО i18n и настроили путь локали? Некоторое время назад я боролся с http://stackoverflow.com/questions/20467626/how-to-setup-up-django-translation-in-the-correct-way – frlan