1

当我尝试在 django 模板中翻译空字符串时,我最终会显示 po 标头而不是空字符串http://codex.wordpress.org/Translating_WordPress#The_PO_File_Header。我必须翻译空字符串,因为它们在 db 中,我无法填充所有模型并翻译它们,因为它们是动态的。现在我使用类似的东西

{% if data %}
    {% trans data %}
{% endif %}

我试图将标题标记为模糊,但它没有用。

有什么方法可以避免检查每个可翻译字符串并避免 po 标头出现?我正在使用 django 1.5。

4

1 回答 1

1

好的,根据Why does gettext translate an empty string to the .po header text? 了解发生了什么?http://www.gnu.org/software/gettext/manual/gettext.html#MO-Files

对原始字符串进行排序可以使用简单的二进制搜索,当 MO 文件不包含散列表时,或者当使用 MO 文件中提供的散列表不实用时。这还有另一个优点,因为 PO 文件中的空字符串 GNU gettext 通常被翻译成附加到特定 MO​​ 文件的一些系统信息,并且空字符串必然成为原始表和翻译表中的第一个,从而使系统信息很容易找到。

所以我无法避免检查字符串。

于 2013-08-28T07:02:16.813 回答