Python django i18n模块中未翻译的某些字符串

Python django i18n模块中未翻译的某些字符串,python,django,django-i18n,Python,Django,Django I18n,我对django的国际化模块有一些奇怪的问题。大多数字符串按其必须的方式进行翻译,而其他一些字符串则没有。让我给你看一个例子: <li>{% trans "Upload Score" %}</li> <li>{% trans "Profile" %}</li> <li>{% trans "Invite friends" %}</li> <li>{% trans "Settings" %}</li>

我对django的国际化模块有一些奇怪的问题。大多数字符串按其必须的方式进行翻译,而其他一些字符串则没有。让我给你看一个例子:

<li>{% trans "Upload Score" %}</li>
<li>{% trans "Profile" %}</li>
<li>{% trans "Invite friends" %}</li>
<li>{% trans "Settings" %}</li>
但当我编译它时,django管理员会编译消息,只翻译“Profile”和“Settings”。你知道它是从哪里来的吗?这是否与使用空格有关?i18n模块中是否有调试模式

谢谢你的帮助!:)


编辑:我们在django 1.4上

您需要删除模糊线

Fuzzy可能表示原始字符串已更改。Gettext不希望丢失您的翻译,因此它将更改它,但将其标记为模糊

我推荐你。它将创建类似管理员的界面,您可以在其中翻译字符串和管理模糊


Cheers

我有完全相同的症状,我只是忘记添加设置,Django对我的一些字符串使用了一些默认的翻译字符串,而没有到达我自定义开发的消息文件

添加此设置解决了以下问题:

LOCALE_PATHS = (
    PROJECT_DIR.child('locale'),  # assuming PROJECT_DIR is set to project root (using unipath)
)

在我的例子中,存放我的
lcu消息的目录是以我想要的语言代码(例如
en-us
)命名的,而不是以语言环境(
en-us
)命名的。将其重命名为区域设置格式修复了问题。

您的django项目语言设置看起来如何?(
LANGUAGE\u code
USE\u I18N
)。您的系统语言设置看起来如何
Profile
Settings
是通用字符串,可以在属于django本身的翻译中找到。我猜你的翻译根本没有被使用,因为语言设置不匹配或类似的东西。它不应该是LOCALE\u PATH(没有S)吗?我链接到文档,很清楚它是
LOCALE\u PATH
LOCALE_PATHS = (
    PROJECT_DIR.child('locale'),  # assuming PROJECT_DIR is set to project root (using unipath)
)