3

テンプレートの実際の非 html テキストをすべて、Django の 1 つ (または複数) の個別のファイルに入れたいと思います。現在、私のテンプレートは次のような文章でぎっしり詰まっています。

{% if request.session.lang == "en" %}
    Some text in English
{% else %}
    Some text in the default language
{% endif %}

テンプレートのテキスト (メイン言語または英語) は他の人によって頻繁に変更されるため、他の人も編集できるファイルをいくつか用意したいと思います (実際のビューファイルを編集する必要はありません)。django ドキュメントのローカリゼーション セクションを読んだ後でも、テキスト (ドキュメントの例では英語) をテンプレート/ビューにハードコーディングする必要があるようです。

生成された .po ファイルに関する django ドキュメントの例:

msgid "Welcome to my site."
msgstr ""

私はむしろ次のようなものが欲しいです:

msgid APP-XY_VIEW-XY_INTRODUCTION
msgstr ""

もちろん、明らかな解決策は次のようなものを使用するようです:

ugettext('APP-XY_VIEW-XY_INTRODUCTION') # in a view

ただし、他の解決策がないかどうかを確認したいと思います (すべてのビュー/テンプレートでハードコードされているカスタム ID 文字列リテラルを作成する必要はありません)。

どうもありがとう!

/編集、Django バージョン 1.4.5

4

2 に答える 2