i18nにはフラスコ、pybabelを使用しています。ユーザーにメールを送信する必要がある場合があります。そして、自分の言語でメールを送りたいです。言語コードはデータベースに保存されるため、問題はテンプレートを適切な言語に翻訳することです。これが私の送信機能の一部です:
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)
各テンプレートがレンダリングされる前に呼び出すことができるようなものだけです。どうすればいいですか?
ありがとう。