У меня была такая же проблема с django-allauth==0.32.0
и Django==1.11.1
. Переводы, которые поставляются с allauth
, просто устарели или неполны. Например, в моем проекте электронное письмо со ссылкой для сброса пароля всегда было на английском языке (по умолчанию - LANGUAGE_CODE = 'en'
), хотя пользователь установил язык на чешский язык.
.po
файл для чешских переводов: https://github.com/pennersr/django-allauth/blob/master/allauth/locale/cs/LC_MESSAGES/django.po#L408 Этот перевод по электронной почте обозначен как fuzzy
- так что переводы не используются. То же самое относится к другим языкам, которые я проверил (de
, es
...).
Причина объясняется в этом комментарии от автора allauth
:
Шаблоны allauth являются лишь означает, в качестве отправной точки, что-то , чтобы ты быстро. Следовательно, я не рассматриваю проблемы в переводах как блокировку для выпуска, что может привести к переводам , оставшимся позади. Не стесняйтесь подавать заявки на тягу, чтобы заполнить пробелы .
Источник:https://github.com/pennersr/django-allauth/issues/1113#issuecomment-141189606
Я думаю, что есть два пути решения этой проблемы:
- Fix/обновление переводов на https://www.transifex.com/django-allauth/django-allauth/, подать запрос тянуть на Github и ждать нового релиза ,
- Моя рекомендация: скопируйте все шаблоны с
allauth
в ваш проект, создайте свои собственные файлы *.po
и проигнорируйте все переводы/шаблоны по умолчанию. Не забывайте, что шаблоны электронной почты находятся в *.txt
, поэтому вы должны позвонить makemessages
следующим образом: python manage.py makemessages ... --extension html,txt,py
.