Django:如何在模板中连接翻译和常量字符串

时间:2011-09-28 16:01:27

标签: python django templates translation string-concatenation

我想将带变量的翻译传递给模板标签。我试着这样做:

{% my_tag _("Entries for tag")|add:" '"|add:tag|add:"'" %}

但这不起作用。有没有解决方案?

2 个答案:

答案 0 :(得分:0)

<span>{% my_tag _("Entries for tag") %} '{{tag}}'</span>

出了什么问题

答案 1 :(得分:0)

一种解决方案可能是:

{% blocktrans with tag=tag %}
    <span>Entries for tag</span> '{{ tag }}'
{% endblocktrans %}

但是将HTML放在已翻译的字符串中并不是最好的主意。更糟糕的是,假设您可以将英语字符串的翻译与另一个字符串连接起来并获得有效的句子。你永远不能假设{{ tag }}的句子在其他语言中的位置是相同的。某些语言可能需要翻译为Lorem ipsum „%(tag)s” dolor sit

但似乎你正在尝试动态应用一些HTML。也许你真正想要的是在ugettext('Entries for tag %(tag)s')my_tag并对其进行相应的解析(比如找%(tag)s并在其周围添加一些HTML)。