저는 플라스크를 사용하고 있습니다 .1818에 pybabel을 사용하고 있습니다. 때로는 사용자에게 이메일을 보내야합니다. 그리고 나는 그들의 언어로 이메일을 보내고 싶다. 언어 코드는 데이터베이스에 저장되므로 문제는 올바른 언어로 템플릿을 번역하는 것입니다. 템플릿의python gettext 동시에 다른 언어
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)
같은 것입니다 여기에 내 보내는 기능의 일부입니다. 내가 어떻게 해?
감사합니다. 나는이 종료 @tbicr하는
def set_langauge(lang)
ctx = _request_ctx_stack.top
ctx.babel_locale = Locale.parse(lang)