如何使Django的blocktrans中的空格和缩进不重要?

10

想象一下在某个Django模板中出现了以下blocktrans

{% blocktrans %}
    Some Text
{% endblocktrans %}

在模板中进行一些更改后,您可能希望缩进该块:

<div>
    {% blocktrans %}
        Some Text
    {% endblocktrans %}
</div>

这会更改翻译文件中的消息,并将其标记为模糊。尽管从技术上讲,它是相同的消息(只有缩进不同)。
整个“去模糊”这些消息的过程是乏味且容易出错的。
我到目前为止尝试过以下方法: - 尽可能使用“trans”,但并不总是有效 - 保持“blocktrans”语句的初始缩进 - 难以维护 - 尝试在文档和其他资源中找到更多信息
有没有办法使“blocktrans”的缩进无关紧要?
1个回答

18
根据这里的文档:

{% blocktrans %}支持的另一个功能是修剪选项。此选项将从{% blocktrans %}标记的内容开头和结尾删除换行符,替换任何行开头和结尾的空格,并使用空格字符将所有行合并为一行。这对于缩进{% blocktrans %}标记的内容非常有用,而不会使缩进字符出现在PO文件中的相应条目中,从而使翻译过程更加容易。

例如:
<div>
    {% blocktrans trimmed %}
        Some Text
    {% endblocktrans %}
</div>

这将在您的 PO 文件中生成条目 "一些文本"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接