我正在使用以下blocktrans:
{% blocktrans with item|gender_text as gendertext %}
This is {{gendertext}} item
{% endblocktrans %}
在我的.po文件中我有
msgid "This is %(gendertext)s item"
msgstr "Some translation ... %(gendertext)s"
对于英语以外的任何语言,我不想使用gendertext
变量。所以我想要
msgstr "Some translation ..."
但是,当我从%(gendertext)s
取消msgstr
时,django_admin喊出来(编译消息时):
'msgstr' is not a valid Python format string, unlike 'msgid'. Reason: The string ends in the middle of a directive.
msgfmt: found 1 fatal error
此案例的解决方法是什么?
梅尔
答案 0 :(得分:1)
如果我理解你的问题,Django正确地给出了这个错误beacsue,你的密钥应该适用于所有语言。例如,没有这样的情况:在英语中我有一个键gendertext
但是在土耳其语我不需要那把钥匙。
一个简单的解决方案是将密钥保存在两种语言中,但如果您不想渲染,请将其保留为空。
除了您的问题,我强烈建议您使用rosetta
申请,http://code.google.com/p/django-rosetta/进行翻译流程。