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-регистрации приведены здесь.

Другие вопросы по тегам