u18next node setLng 似乎不起作用
u18next node setLng seems that doesn´t work
node.js 的 i18next 模块出现问题(使用 express)。我以这种方式初始化(在 app.js 文件上)模块:
i18n.init({
ns: { namespaces: ['text'], defaultNs: 'text'},
resSetPath: 'locales/__lng__/new.__ns__.json',
preload: ['es', 'uk', 'fr', 'ge', 'ru', 'it'],
saveMissing: true,
debug: true,
lng:"es",
sendMissingTo: 'fallback',
useCookie: false,
detectLngFromHeaders: false,
detectLngFromPath: false
});
在路由文件上我做了这样的事情:
router.get('/not_registered', function(req, res) {
console.log("users.js-> user.get-> init lang: " + req.session.lang);
req.i18n.setLng(req.session.lang, function(t)
{
console.log("users.js-> user.get-> inside function");
res.render('users/user');
});
});
第一个 console.log 有效,但第二个无效...我做错了什么??有帮助吗??
谢谢。
我找到的解决方案
最后,我看到 i18n.setLng 函数不使用回调...我唯一需要做的是:
req.i18n.setLng(req.session.lang);
res.render('users/user');
感谢@Alexandr
node.js 的 i18next 模块出现问题(使用 express)。我以这种方式初始化(在 app.js 文件上)模块:
i18n.init({
ns: { namespaces: ['text'], defaultNs: 'text'},
resSetPath: 'locales/__lng__/new.__ns__.json',
preload: ['es', 'uk', 'fr', 'ge', 'ru', 'it'],
saveMissing: true,
debug: true,
lng:"es",
sendMissingTo: 'fallback',
useCookie: false,
detectLngFromHeaders: false,
detectLngFromPath: false
});
在路由文件上我做了这样的事情:
router.get('/not_registered', function(req, res) {
console.log("users.js-> user.get-> init lang: " + req.session.lang);
req.i18n.setLng(req.session.lang, function(t)
{
console.log("users.js-> user.get-> inside function");
res.render('users/user');
});
});
第一个 console.log 有效,但第二个无效...我做错了什么??有帮助吗??
谢谢。
我找到的解决方案
最后,我看到 i18n.setLng 函数不使用回调...我唯一需要做的是:
req.i18n.setLng(req.session.lang);
res.render('users/user');
感谢@Alexandr