我正在尝试将 i18n 功能添加到我正在处理的一个小测试项目中。我正在使用 webapp2_extras i18n 库。我有 locale 文件夹,其中包含使用 babel 命令行创建的编译翻译 .mo 文件。该应用程序本身只是一个简单的 django 模板和一个带有一个处理程序的 main.py。当我在 main 中使用 gettext 方法时,我确实得到了翻译后的文本,但是模板内用 {% trans %} 标签包裹的字符串没有被翻译。这是处理程序:
class MainHandler(webapp2.RequestHandler):
def get(self):
locale = self.request.GET.get('locale', 'en_US')
i18n.get_i18n().set_locale(locale)
message = i18n.gettext('Hello, world!')
self.response.out.write(template.render("templates/index.html"))
在“消息”中,字符串被翻译,但在模板内部,用 {% trans %} 包裹的相同字符串不是。
谢谢,