【问题标题】:internationalization in Node.js, Express, i18nNode.js、Express、i18n 中的国际化
【发布时间】:2012-01-15 22:18:25
【问题描述】:

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

var i18n = require('i18n');
app.configure(function() {
    [...]
    app.use(i18n.init);
    app.use(app.router);
});

在我的应用设置中。一切正常,但我真正需要的是强制 i18n 使用我想要的语言。场景如下:当用户未登录时,i18n 搜索accept-language header 中的语言就可以了。但是当用户登录时,我想在用户设置中的某个地方保存选择的语言,检索它并强制 i18n 模块使用这种语言。如何做到这一点(假设我已经知道如何在数据库中保存/检索语言)?

【问题讨论】:

标签: javascript node.js internationalization


【解决方案1】:

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

i18n.getLocale();

检索当前语言和

i18n.setLocale('en');

根据需要设置语言环境。文档确实应该提到这一点。这很重要,我希望答案对某人有所帮助。 :)

【讨论】:

  • 嘿...你最后是怎么让它工作的?我尝试使用您编写的命令更改语言环境,但它会自动切换回来,我不知道它是如何工作的,因此设置仍然存在。
  • 您可以看看i18next.com/node,因为它添加了相同的功能以及更多功能。
  • 如果您需要了解特定国家/地区的语言,请查看github.com/bdswiss/country-language
【解决方案2】:

这是昨天刚刚发布的,但听起来它会遇到您遇到的问题:locale

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 2017-06-09
    • 2012-02-25
    相关资源
    最近更新 更多