如何在 Pug 模板文件中使用 i18n 变量?

Sam*_*ose 5 internationalization node.js pug

我是 Node.js 新手,我正在尝试学习如何在我的 Pug 模板中使用i18n,但在任何地方都找不到答案。

文档说

在您的模板中(取决于您的模板引擎)

<%= __('Hello') %>

${__('Hello')}
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过(在我的哈巴狗模板中)

${__('Hello')}

__('Hello')
Run Code Online (Sandbox Code Playgroud)

这些语法都不起作用,正确的语法是什么?

我知道它配置得很好,因为使用时

i18n.__('Hello')
Run Code Online (Sandbox Code Playgroud)

并将其发送到我的模板中正在运行的变量中。

Sam*_*ose 6

文档中的答案是正确的,只需将其添加到我的配置中即可。

app.use(function(req, res, next) {
    // express helper for natively supported engines
    res.locals.__ = res.__ = function() {
        return i18n.__.apply(req, arguments);
    };

    next();
});
Run Code Online (Sandbox Code Playgroud)


小智 5

除了 Sam 的答案之外,请记住您应该使用#{__('Hello')}模板语法来使用此 i18n 帮助程序。