2017-07-10 10 views
0

djangoのビューでレンダリングされたhtmlテンプレートがあります。テンプレートには、ビューが送信する動的な値がいくつかあります。djangoテンプレートの動的コンテンツの翻訳

例::

{{ text_to_be_translated.brand_name}} 

上記「text_to_be_translated.brand_nameは」「私のブランド」など「あなたのブランド」のような多くの値を保持することができますBRAND_NAMEのようなキーの数千人と辞書、ある

私は上記の動的テキストを翻訳することができません。

私は手動でpoファイル

msgid "my brand" 
msgstr "カードインフォメーション" 

にテキストにmsgidsを入れてみました。しかし、それは翻訳されません。

私は間違っていますか、助けてください。

+0

djangoの翻訳タグを試しましたか?詳細については、https://docs.djangoproject.com/fr/1.11/topics/i18n/translation/#internationalization-in-template-code –

+0

をご覧ください。{%trans "my brand"%} "というテキストが表示されます – mbieren

+0

私は{%trans "私のブランド"%}を得て、同じものに対してmsgidを取得します。しかし、実際の翻訳は起こりません。 –

答えて

3

誰かが利益を得ることができるように書くだけです。

私はテンプレートタグでtemplate.html

{% with card_details_trans=registration_card_details.card_details|template_trans %} 
    {% trans card_details_trans %} 
{% endwith %} 

「タグとジャンゴ」を使用して、テンプレート内のテキストを翻訳テンプレートフィルタを書くと力で問題を解決し

@register.filter(name='template_trans') 
def template_trans(text): 
    try: 
     return ugettext(text) 
    except: 
     return text 

論理

  1. Djangoは、動的変数の内容を翻訳する必要があるかどうかわかりません。
  2. タグを使用すると、適用されたフィルタから変換された値が計算され、変換された出力が得られます。

希望します。乾杯!!!

関連する問題