我正在尝试将I18n功能添加到我正在处理的一个小测试项目中。我正在使用webapp2_extras i18n库。我有使用babel命令行创建的编译翻译.mo文件的locale文件夹。该应用程序本身只是一个简单的Django模板和一个处理程序的main.py。当我在主要中使用gettext方法时,我确实得到了翻译文本,但模板内用{%trans%}标记包装的字符串不会被翻译。这里的处理程序:GAE的webapp2 i18n无法识别django模板{%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"))
在“消息”的字符串转换,但在模板中相同的字符串wrappwed {%反%}不是。
感谢,
你是否启用jinja2.ext.i18n扩展?我相信它在webapp2配置默认值中关闭。 – alex 2012-04-16 09:31:18
我不使用jinja,我使用django模板。 – yohairosen 2012-04-16 10:03:03
正如我看到你使用jinja2。因为django-template-render没有template.render-method。请重新检查一遍或在这里发布一个导入部分。 – SkyFox 2012-04-16 12:01:29