2016-08-26 2 views
4

Я пытаюсь настроить переводы для электронных писем с помощью django-allauth.
Я переписал свои шаблоны, перевел мои файлы .po и выполнил их.Как настроить электронный перевод с Django Allauth

Переводы html работают нормально, но почему-то только электронные письма не переведены.

я правильно сконфигурированные переводы следуя Джанго учебника
https://docs.djangoproject.com/en/1.10/topics/i18n/translation/#how-django-discovers-language-preference

Соответствующий вопрос не поможет: How does email translation work with django allauth?

версии пакета:
Джанго == 1,10
Джанго-allauth == 0,27.0

ответ

1

У меня была такая же проблема с 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

Я думаю, что есть два пути решения этой проблемы:

  1. Fix/обновление переводов на https://www.transifex.com/django-allauth/django-allauth/, подать запрос тянуть на Github и ждать нового релиза ,
  2. Моя рекомендация: скопируйте все шаблоны с allauth в ваш проект, создайте свои собственные файлы *.po и проигнорируйте все переводы/шаблоны по умолчанию. Не забывайте, что шаблоны электронной почты находятся в *.txt, поэтому вы должны позвонить makemessages следующим образом: python manage.py makemessages ... --extension html,txt,py.