在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
,重新启动dev server并刷新页面,但在输出中仍然看到
Original % blocktrans
。其他翻译正确显示。 作为参考,ѭ6也可以。经过makemessages和翻译,我有
#: templates/index.html:72
msgid \"Original % trans\"
msgstr \"Translated % trans\"
这按预期工作-显示了翻译版本。 我必须使用blocktrans,因为我还需要将变量嵌入到字符串中。我正在使用Django 1.2.5。 如何使Blocktrans使用百分号?     

解决方法

查看这张票-这不是解决方案,但可以了解正在发生的事情     ,无法找到真正的解决方案,所以我使用了一种解决方法:创建一个常量PERCENT_SIGN = u \'%\',并将其用作{{́PERCENT_SIGN}}在blocktrans-blocks中。     ,已针对该特定问题打开了另一张票证,其中包含一个可修复此问题的补丁程序。希望它将在Django 1.4中修复。 https://code.djangoproject.com/ticket/16721     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...