Python 如何将i18n扩展添加到jinja?

Python 如何将i18n扩展添加到jinja?,python,jinja2,gettext,Python,Jinja2,Gettext,根据,我编写了以下代码 from jinja2 import Template, Environment from gettext import GNUTranslations translation = GNUTranslations() env = Environment(extensions=['jinja2.ext.i18n']) env.install_gettext_translations(translation) name = input("Enter your name: "

根据,我编写了以下代码

from jinja2 import Template, Environment
from gettext import GNUTranslations

translation = GNUTranslations()
env = Environment(extensions=['jinja2.ext.i18n'])
env.install_gettext_translations(translation)
name = input("Enter your name: ")
tm = Template("{% trans %} Hello {{ name }} {% endtrans %}")
msg = tm.render(name=name)
print(msg)
然而,我得到了一个错误

jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'trans'.

我想这是因为您实例化了一个新的Template()对象。 默认情况下,它不使用先前定义的环境,而是使用临时环境。 查看Jinja2类模板()的源代码,您将获得更多信息

您需要的是更像
template=env.get\u template('index.html')
然后
template.render(name=name)