Node.js,Express,i18n中的国际化

fre*_*ish 8 javascript internationalization node.js

我将Node.js与Express框架和i18n模块一起使用.所以我用

var i18n = require('i18n');
app.configure(function() {
    [...]
    app.use(i18n.init);
    app.use(app.router);
});
Run Code Online (Sandbox Code Playgroud)

在我的应用设置中.一切都很好,但我真正需要的是迫使i18n使用我想要的语言.方案如下:当用户未登录时,i18n会在accept-language标题中搜索langauage ,这样就可以了.但是当用户登录时,我想在用户设置中的某处保留选定的语言,检索它并强制i18n模块使用此语言.怎么做(假设我已经知道如何保存/检索语言中的语言)?

fre*_*ish 12

对,对不起.我应该稍等一下,检查一下i18n模块.模块似乎提供了功能

i18n.getLocale();
Run Code Online (Sandbox Code Playgroud)

它检索当前语言和

i18n.setLocale('en');
Run Code Online (Sandbox Code Playgroud)

它设置我们想要的语言环境.文档真的应该提到这一点.重要的是,我希望答案可以帮助某人.:)