Django 翻译转义 % 符号
Django translation escape % sign
我正在尝试翻译一些包含百分号的文本,如下所示:
{% 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 格式化而感到困惑?
原来这是一个 Django 问题,可能会在 Django 1.9 中修复。
一种解决方法是:
{% blocktrans with percent="%" %}100{{percent}} butterfly{% endblocktrans %}
它本质上包含了 python 格式,它认为您在将 % 符号放入您的反式文本中时正在尝试这样做。它冗长而糟糕,但它有效。
我认为更好的方法是使用 html 代码:%
这是处理 django 翻译的最优雅的方式。
根据 Django 的 Trac 中的 this comment,在要翻译的字符串上方添加翻译注释以停用 python 格式可以解决/解决此问题。
如果要翻译的文本在您的 Python 代码中,请使用:
# Translator: xgettext:no-python-format
_('100% butterfly')
对于trans
模板标签,您可以尝试:
{# Translators: xgettext:no-python-format #}
{% trans "100% butterfly" %}
我正在尝试翻译一些包含百分号的文本,如下所示:
{% 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 格式化而感到困惑?
原来这是一个 Django 问题,可能会在 Django 1.9 中修复。 一种解决方法是:
{% blocktrans with percent="%" %}100{{percent}} butterfly{% endblocktrans %}
它本质上包含了 python 格式,它认为您在将 % 符号放入您的反式文本中时正在尝试这样做。它冗长而糟糕,但它有效。
我认为更好的方法是使用 html 代码:%
这是处理 django 翻译的最优雅的方式。
根据 Django 的 Trac 中的 this comment,在要翻译的字符串上方添加翻译注释以停用 python 格式可以解决/解决此问题。
如果要翻译的文本在您的 Python 代码中,请使用:
# Translator: xgettext:no-python-format
_('100% butterfly')
对于trans
模板标签,您可以尝试:
{# Translators: xgettext:no-python-format #}
{% trans "100% butterfly" %}