我有一个国际化的 Django 1.3 站点并且想要这样做:
{% include "snippets/button.html" with button_text=_("Logout {{ user.username }} now") %}
snippets/button.html
看起来像这样:
<button
type="{{ button_type|default:_('submit') %}"
class="all_my special classes"
{% if button_title %} title="{{ button_title }}"{% endif %}>
<span class=ui-button-text>{{ button_text|default:_("Submit") }}</span>
</button>
我能看到的唯一方法是:
{% include "snippets/button.html" with button_text="Logout "|add:user.username|add:" now" %}
但这是不可接受的,因为要翻译的字符串需要包含变量替换发生的位置。我见过Interpolate Django 模板包含变量,但这不包括这种用法。