我在使用Django的国际化模块时遇到了一些奇怪的问题。大部分字符串都被翻译成了应该有的样子,但还有一些没有。让我举个例子:
<li>{% trans "Upload Score" %}</li>
<li>{% trans "Profile" %}</li>
<li>{% trans "Invite friends" %}</li>
<li>{% trans "Settings" %}</li>
我有一个包含4个菜单项的列表。我运行django命令makemessages将网站翻译成法语,一切都如预期的那样:
#: templates/main.html:190 templates/main.html.py:195
#, fuzzy
msgid "Upload Score"
msgstr "Publier"
#: templates/main.html:191 templates/main.html.py:196
msgid "Profile"
msgstr "Profil"
#: templates/main.html:192 templates/main.html.py:197
#, fuzzy
msgid "Invite Friends"
msgstr "inviter vos amis"
#: templates/main.html:193 templates/main.html.py:198
msgid "Settings"
msgstr "Préférences"
但是当我编译它时,使用django-admin compilemessages命令,只有“Profile”和“Settings”被翻译了。您知道这可能是哪里出了问题吗?是否与使用空格有关?i18n模块中是否有调试模式?
谢谢您的帮助! :)
编辑:我们使用的是django 1.4版本。
LANGUAGE_CODE
,USE_I18N
)。你的系统语言设置是什么样子的?Profile
和Settings
是通用字符串,可以在属于 Django 自身的翻译中找到。我猜测你的翻译可能没有被使用,因为语言设置不匹配或其他类似的原因。 - yedpodtrzitko