【问题标题】:Access i18next Translation in Function not in App.js在不在 App.js 中的函数中访问 i18next 翻译
【发布时间】:2013-06-18 04:44:00
【问题描述】:

我正在使用 ExpressJS 和 i18next。

app.js

var express = require('express')
  , i18n = require('i18next')
  , user = require('./routes/user')
...
//internationalization
i18n.init({
  lng: 'en-US',
  saveMissing: true,
  debug: true
});
...  
app.use(i18n.handle);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
...
i18n.registerAppHelper(app);
...
app.post('/users/save', user.save);

我可以访问jade中的翻译:

t('app.title')

如何访问routes.user.js中的翻译

exports.save = function(req, res){
    //t('app.title')
}

【问题讨论】:

    标签: node.js express i18next


    【解决方案1】:

    t 在您的路由处理程序中作为res.locals.t 可用。这应该也适用于 Express 3 和 2。

    【讨论】:

      【解决方案2】:

      i18next-express-middleware -> 翻译功能可以通过req.i18n.treq.t 访问。但显然它也在res.locals.t 之下——可以在模板中访问。

      【讨论】:

        猜你喜欢
        • 2012-10-27
        • 2021-06-26
        • 2015-12-27
        • 1970-01-01
        • 2021-12-02
        • 1970-01-01
        • 2021-06-06
        • 2014-07-27
        • 2016-12-28
        相关资源
        最近更新 更多