【问题标题】:How do you use i18n with Node.js?你如何在 Node.js 中使用 i18n?
【发布时间】:2012-02-16 20:41:07
【问题描述】:

我们即将开始在 Node.js 中构建我们的 Web 应用程序,我想为 i18n 做好准备,因此我正在寻找您在构建可翻译文本的 Node.js 应用程序方面的经验。

如果您有任何建议,我最好通过 Git 或其他工具使用像 Pootle 这样的工具。

【问题讨论】:

标签: node.js internationalization pootle


【解决方案1】:

您可以在您的应用程序中使用许多i18n modules,但您可以根据需要创建自己的。

例如创建一个文件夹 /languages 并在其中创建 en.js、fr.js 等

it.js

module.exports = {
  "name": "nome",
  "age": "eta",
  .. etc
}

重要的是设置默认语言并在您网站的某处制作语言选择栏。当用户在您的应用中选择另一种语言(而不是英语)时,您可以执行以下操作:

app.get('/lang/:ln', function (req, res, next) {
  // remember the user's chosen language
  req.session.language = req.params.ln;
});

然后你可以有一个语言帮助函数,像这样:

translate = function (language, text) {
  // language array contains all the languages
  return language_array[language].text;
}
// example: translate(req.session.language, "age")

【讨论】:

  • i18n 在带有i18next 的nodejs 中运行良好。我刚刚添加了一个 ui 来翻译 web i18next.com/pages/ext_webtranslate.html 中的资源
  • 但是如何添加日期/货币转换?国际化不仅仅是翻译文本字符串:-P
  • @kanyee 这些字符串值也可以很容易地成为函数。
  • 如何将 it.js 加载到 language_array 中?节点 n00b 在这里 sry。
猜你喜欢
  • 1970-01-01
  • 2012-05-04
  • 1970-01-01
  • 2017-07-09
  • 1970-01-01
  • 2012-04-03
  • 1970-01-01
  • 2020-05-13
  • 1970-01-01
相关资源
最近更新 更多