我有使用django i18n的第一次经历。我已经完成了以下步骤:
已添加到settings.py:
USE_TZ = True
USE_I18N = True
USE_L10N = True
LANGUAGE_CODE = 'en'
LANGUAGES = (
('ru', _('Russian')),
('en', _('English')),
)
ugettext = lambda s: s
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
模板:
{% blocktrans %}WTS{% endblocktrans %}
控制台:
./env/bin/django-admin.py makemessages -l ru
./env/bin/django-admin.py makemessages -l ru
.po文件:
msgid "WTS"
msgstr "ВИС"
控制台:
./env/bin/django-admin.py compilemessages
现在我要检查翻译。我正在使用firefox浏览器将request.META ['LANG']作为'en_US.utf8'发送,我只获得了blocktrans的原始内容。在测试之前如何检查翻译以及我要执行的内容?
答案 0 :(得分:1)
一个非常粗略的解决方法:在您的视图中添加translation.activate(user_language)
代码,其中user_language - 必需的区域设置(例如:user_language = 'ru'
)。
要获得可靠的解决方案 - 实现用于切换语言或使用浏览器的区域设置的代码。