0

我有一个龙卷风应用程序,它使用 Mako 进行模板。使用 Babel 我能够创建翻译(mo 文件),但是当我无法呈现翻译后的字符串时。

我的 html 块(index.mako):

`<li> <a id="login"> ${_('Login')} / ${_('Signup')} </a></li>`

handler.py 类 HomeHandler(BaseHandler):

    def get(self):
        hometemplate = makoLookup.get_template("index.mako")
        response_str = hometemplate.render()
        self.write(response_str)

response_str 返回 <li> <a id="login"> Login / Signup </a></li>

如何在 mako 中实现国际化?我搜索的所有文档都解释了提取翻译,但找不到任何关于在 mako 模板中使用翻译的文档。

我曾尝试使用 Tornado-Babel,但找不到与 mako 模板集成的文档。

4

1 回答 1

0

使用 TornadoBabelMixin。我将 self._ 传递给我的模板渲染函数。现在我的处理程序代码看起来像这样。

class HomeHandler(TornadoBabelMixin, BaseHandler):
    def get_user_locale(self):
        return locale.get("en_US")

    def get(self):
        hometemplate = makoLookup.get_template("index.mako")
        response_str = hometemplate.render(_ = self._)
        self.write(response_str)
于 2014-11-10T15:15:16.300 回答