Djangoのテンプレートで多言語に対応したプレースホルダ付きのメッセージを使う方法

Djangoのテンプレートの中で、他言語に対応したプレースホルダ付きのメッセージは「blocktrans」で実現できます。

例)

{% blocktrans %}placeholder test {{ bt }}{% endblocktrans %}

ちなみに、このテンプレートに対して「django-admin.py」の「makemessages」でメッセージファイルを作成すると、以下のように「blocktrans」の中身が出力されます。

例)

$ django-admin.py makemessages -a
--- locale/ja/LC_MESSAGES/django.po ---

#: templates/test.html:84
#, python-format
msgid "placeholder test %(bt)s"
msgstr ""

これを、他の言語に変更すれば、他言語化することができます。

msgid "placeholder test %(bt)s"
msgstr "プレースホルダテスト%(bt)s" 

この記事が役に立った場合、シェアしていただけると励みになります!!