3

国際化された 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 テンプレートに変数が含まれているのを見たことがありますが、この使用法はカバーされていません。

4

2 に答える 2

0

この場合の最善の策は、既に翻訳された文字列をコンテキストに追加することだと思います。

あなたのviews.py

...
'button_text': _("Logout {} now").format(user.username),
...

次に、テンプレートで:

{% include "snippets/button.html" with button_text=button_text %}
于 2017-04-25T08:40:51.153 に答える
-1

このような何かがあなたを続けることを可能にするかもしれません:

{% blocktrans with value|filter as myvar %}
  This will have {{ myvar }} inside.
{% endblocktrans %}

ここからhttp://www.djangobook.com/en/1.0/chapter18/

インクルードで動作するはずですが、テストしていません。

于 2011-12-21T09:50:54.773 に答える