Python 在Django中翻译电子邮件模板
我有一个HTML模板,我通过电子邮件发送使用Django安装。我正在尝试翻译模板的内容(我已经加载了i18n,所有字符串都在po文件中),但我一直收到用英语呈现的电子邮件 我有以下代码:Python 在Django中翻译电子邮件模板,python,django,email,internationalization,translation,Python,Django,Email,Internationalization,Translation,我有一个HTML模板,我通过电子邮件发送使用Django安装。我正在尝试翻译模板的内容(我已经加载了i18n,所有字符串都在po文件中),但我一直收到用英语呈现的电子邮件 我有以下代码: htmly = get_template(self.html_content) self.values_dict['LANGUAGE_CODE'] = 'es' d = Context(self.values_dict) html_content = htmly.render(d) process_mail.d
htmly = get_template(self.html_content)
self.values_dict['LANGUAGE_CODE'] = 'es'
d = Context(self.values_dict)
html_content = htmly.render(d)
process_mail.delay(subject=self.subject, message=self.message,
from_email=self.from_email,
recipient_list=self.recipient_list,
html_content=html_content,
html_type=self.html_type,
attaches=self.attaches, mass=mass)
出于调试原因,我还在模板上添加了以下内容:
{% get_language_info for LANGUAGE_CODE as lang %}
Language code: {{ lang.code }}<br />
Name of language: {{ lang.name_local }}<br />
Name in English: {{ lang.name }}<br />
Bi-directional: {{ lang.bidi }}
Name in the active language: {{ lang.name_translated }}
你知道我做错了什么吗?你似乎没有在任何地方激活翻译;您所做的只是发送一个字符串“es”,作为语言代码变量。为了实际翻译,您需要:
你能把你的电子邮件模板发到哪里吗
Language code: es
Name of language: español
Name in English: Spanish
Bi-directional: False Name in the active language:
from django.utils import translation
translation.activate('es')