我目前正在本地化我的Django应用程序。除了blocktrans标签中的百分号外,其他所有翻译都可以正常工作。处理Django blocktrans标记中的百分号(%)
在我的模板中我有{% blocktrans %}Original % blocktrans{endblocktrans %}
。
django-admin makemessages
产生这django.po:
#: templates/index.html:78
#, python-format
msgid "Original %% blocktrans"
msgstr ""
我更新,为msgstr "Translated %% blocktrans"
,运行django-admin compilemessages
,重启开发服务器,并刷新页面,但我还是看到Original % blocktrans
输出。其他翻译正确显示。
仅供参考,{% trans "Original % trans" %}
也可以。之后makemessages和翻译,我有:
#: templates/index.html:72
msgid "Original % trans"
msgstr "Translated % trans"
可正常工作 - 翻译版本显示。
我必须使用blocktrans,因为我也需要将变量嵌入到字符串中。我正在使用Django 1.2.5。
我该如何使百分号符号工作?
有关使用HTML实体%什么? – 2011-05-10 12:46:01
这可能会起作用,但我认为翻译会比“{{PERCENT_SIGN}}”更容易混淆,尽管时间更短。另外,我将这个用于纯文本电子邮件模板,所以这个实体是不可行的。 – anttikoo 2011-05-12 21:31:15
对..最好的解决方案是修复Django中继中的blocktrans :) – 2011-05-12 22:03:30