在Jinja + Django中的i18n - 是否可以放<span>。 <b>和{%trans%} </b> </span>内的其他标签

时间:2011-10-13 22:10:54

标签: django jinja2

我正在使用棺材与Jinja2接口以进行Django模板化。

我遇到的情况是我需要翻译这段文字,如下所示:

<a href= "#"> This is a test <b> text </b>.</a> The quick brown <span class="red"> fox </span>

所以,我现在正在做这样的事情来翻译它

  

&LT; a href =“#”&gt; {%trans%}这是一个测试{%endtrans%}&lt; B个{%trans%} text {%   endtrans%}&lt; / B取代。 &LT; / A&GT; {%trans%}快速棕色{%endtrans%}&lt;跨度   类= “红色” &GT; {%trans%} fox {%endtrans%}&lt; /跨度&GT;

我可以说,必须有一种更简单的方法来翻译其中包含html标签的文本。什么是最好的方法?

这是一种有效的方法吗?

{% trans %}<a href= "#">This is a test <b> text </b>. </a> The quick brown <span class="red"> fox </span>{% endtrans %}

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以在.po文件中使用HTML标记。这样,您的翻译人员将拥有字符串的完整上下文,他们可以调整标记以匹配预期的结果。

答案 1 :(得分:-1)

虽然它是有效的,但它会给翻译人员保留有效的HTML语法负担(更不用说更易变)了,所以你应该避免这样做。 AFAIR,如果你想要一种标签噪音较少的语法,你可以在Jinja做<a href="">{{ _('This is a test') }} <b>{{ _('text') }}</b> ...