Я использую флягу, pybabel для i18n. Иногда мне нужно отправить электронные письма своим пользователям. И я хочу отправить письмо на их родном языке. Код языка хранится в базах данных, поэтому проблема заключается в том, чтобы перевести шаблон на правильный язык. Вот часть моей функции отправки:
lang = user.get_lang()
subject = _('Subject')
for user in users:
if user.email:
body = render_template('emails/template.eml', user=user)
recipients = [user.email]
msg = Message(subject, html=body, recipients=recipients)
conn.send(msg)
И пример шаблона:
{{ _('Hi {name}. How are you?').format(user.name) }}
Все, что мне нужно, это что-то вроде set_langauge(lang)
, которое я могу вызывать перед рендерингом каждого шаблона. Как мне это сделать?
Спасибо.