問題是:如果我將英語設置爲主要語言(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