Python django i18n模块中未翻译的某些字符串
我对django的国际化模块有一些奇怪的问题。大多数字符串按其必须的方式进行翻译,而其他一些字符串则没有。让我给你看一个例子: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>
<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)
)