如何用一个更加明智的方式检查django i18n翻译?

时间:2015-11-14 08:23:15

标签: python django

我有使用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的原始内容。在测试之前如何检查翻译以及我要执行的内容?

1 个答案:

答案 0 :(得分:1)

一个非常粗略的解决方法:在您的视图中添加translation.activate(user_language)代码,其中user_language - 必需的区域设置(例如:user_language = 'ru')。

要获得可靠的解决方案 - 实现用于切换语言或使用浏览器的区域设置的代码。

在此处查看更多详情:https://docs.djangoproject.com/en/1.8/topics/i18n/translation/#how-django-discovers-language-preference