django-registration: невозможно перевести почту и тему
Любой шаблон .html для модуля регистрации django прекрасно работает с {% blocktrans %}
а также {% trans %}
шаблонные блоки. С {% load i18n %}
на месте, конечно.
Но я не могу использовать теги i18n в шаблонах Activation_email.txt и Activation_email_subject.txt. Строки, помеченные для перевода, просто не отображаются в .po файле после makemessages
,
Кроме того, при переносе текста с {% blocktrans %}{% endblocktrans %}
все переменные, такие как {{ site.domain }}
а также {{ site.name }}
не обрабатываются.
Можете подсказать, что я делаю не так?
1 ответ
Это было мое плохо, я просто неправильно использовал makemessages
, По умолчанию он обрабатывает только файлы.html.
В моем случае
django-admin.py makemessages -a -e html,txt
делает всю работу.
Что касается переменных, {% blocktrans %}{% endblocktrans %}
не может обрабатывать переменные внутри объекта, поэтому мы должны получить их до перевода:
{% blocktrans with site.name as site_name and site.domain as site_domain %}
Хорошие примеры шаблонов для django-регистрации приведены здесь.