问题是:如果我将英语设置为主要语言(LANGUAGE_CODE ='en'),那么一切正常。如果我们使用英文区域设置从浏览器请求网站,我们会看到英文版本,并且类似于俄文区域设置的浏览器。Django本地化:如何使用非英语语言作为'Translate-From'语言
但是,如果我设置LANGUAGE_CODE ='ru'那么我们在任何情况下都会看到俄罗斯变体。
那么为什么英语是默认的,并且被Django用作msgid?
请参阅下面我的项目的设置。
在我settings.py我尝试设置非英语语言作为主要语言:
LANGUAGE_CODE = 'ru'
LANGUAGES = (('en', "English",), ('ru', "Russian",),)
然后,我有恩/ LC_MESSAGES/django.po:
msgid "SITE_MAIN_TITLE"
msgstr "D'argent: Cosmetics, Hair Care, Parfume"
和ru/LC_MESSAGES/django.po:
msgid "SITE_MAIN_TITLE"
msgstr "D'argent – косметика, средства по уходу за волосами, парфюмерия"
在HTML模板:
...
<title>{% block title %}{% trans "SITE_MAIN_TITLE" %}{% endblock %}</title>
...
您正在使用哪种语言翻译器(包)? – Asif 2012-01-31 08:07:09
msgid中的值反映了trans标签内部的值,因此'{%trans“SITE_MAIN_TITLE”%}'将全部生成带有“msgid”SITE_MAIN_TITLE“'的转换文件。设置'LANGUAGE_CODE ='ru''后到底是什么问题? – 2012-01-31 19:58:20
@Secator问题是,即使当前的http客户端语言是英文,Django也只能在设置LANGUAGE_CODE ='ru'时使用ru/LC_MESSAGES/django.po。 – sergzach 2012-02-01 06:01:08