我正在尝试翻译一些包含百分号的文本,如下所示:
{% trans "100% butterfly"%}
当我运行 makemessages 命令时,我在德语 .po 文件中得到以下输出:
#: .\appName\templates\appName\butterflies.html:54
#, fuzzy, python-format
#| msgid ""
#| "100% butterfly"
msgid ""
"100%% butterfly"
msgstr ""
"100% shmetterling"
编译时无法将文本翻译成德语。我试过执行 {% trans "100%% butterfly"%}
,但这会导致页面在以德语和英语查看时显示“100%% butterfly”。我也尝试过使用 blocktrans 标签来翻译文本,结果相同。
手动删除 .po 文件中的额外 % 以及 #, fuzzy, python-format
行是可行的,但我宁愿不必为每个 % 符号都这样做我'我正在尝试翻译。
我如何在我的 HTML 中转义它,以便 Django 停止在 .po 文件中生成模糊翻译,并且不会因为我正在尝试进行一些 python 格式化而感到困惑?
最佳答案
根据 this comment在 Django 的 Trac 中,在要翻译的字符串上方添加翻译器注释以停用 python 格式可以解决/解决此问题。
如果要翻译的文本在您的 Python 代码中,请使用:
# Translator: xgettext:no-python-format
_('100% butterfly')
对于trans
模板标签,可以尝试:
{# Translators: xgettext:no-python-format #}
{% trans "100% butterfly" %}
关于python - Django 翻译转义 % 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33023122/