访问函数中的i18next翻译不在App.js中

时间:2013-06-21 06:06:00

标签: node.js express i18next

我正在使用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')
}

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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