如何在Django blocktrans中使空格和缩进无关紧要?

时间:2016-10-27 10:37:50

标签: python django django-templates django-i18n

在某些Django模板中映像以下blocktrans

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

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

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

这将在翻译文件中更改您的消息,并将其标记为模糊。虽然从技术上讲,它是相同的消息(只有缩进不同)。

&#34; unfuzzyfying&#34;整个过程这些消息很乏味且容易出错。

到目前为止我尝试了什么:

  • 尽可能使用trans - 并不总是有效
  • 保留blocktrans语句的初始缩进 - 难以维护
  • 试图在文档和其他资源中找到更多信息

有没有办法让blocktrans中的缩进无效?

1 个答案:

答案 0 :(得分:5)

根据文件here

  

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

所以例如

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

将导致您的PO文件中的条目"Some Text"