【问题标题】:Localization in node.js with express在 node.js 中使用 express 进行本地化
【发布时间】:2012-07-25 08:36:13
【问题描述】:

您使用哪个包在 node.js 中使用 express 进行本地化?

谢谢!

【问题讨论】:

    标签: node.js localization


    【解决方案1】:

    node-localize可以和express一起工作。

    根据您想要本地化的位置,jqtpl-express-i18n 可以完成模板工作。

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      其实我用的是这个NPM包i18n

      它与 Express 框架的用法非常简单...创建语言环境文件夹(it.json、en.json 等...)

      // load modules at bootstrap
      var app = express();
      var i18n = require("i18n");
      
      //set configuration
      i18n.configure({
        locales:['en', 'de'],
        directory: __dirname + '/server/locales'
      });
      app.use(i18n.init);
      
      
      // and then, in controller we can use response
      res__('YOUR_KEY')
      

      前端只需将 HTTP 标头 Accept-Language 设置为值 'en'、'it' 等。

      【讨论】:

        【解决方案4】:

        您可以使用language-translator 库。它使用 json 文件来加载文本。你可以定义任何你想要的语言。

        • 它支持参数化请求。(包含:参数)
        • 支持路由文件和视图文件的输出文本。
        • 它是完全可定制的。
        • 它使用和管理cookie来了解用户偏好。
        • 它通过匹配您的路由路径和语言文件在中间件​​函数中加载语言文件。无需在每个路由文件中都需要语言文件。
        • 它使用 Yandex 翻译 API 翻译默认语言的 json 文件的文本。 (免费)

        【讨论】:

          【解决方案5】:

          我在自己的项目中使用了localizify库,很轻。

          const localizify = require('localizify');
          
          // ...
          
          app.configure(() => {
              app.use((request, response, next) => {
                  const lang = request.headers['accept-language'] || 'en';
                  localize.setLocale(lang);
                  next();
              });
          });
          

          【讨论】:

            【解决方案6】:

            我发现几个最好的库来处理 nodeJS 中的本地化:

            1. 节点获取文本 - https://www.npmjs.com/package/node-gettext
            2. 全球化 - https://www.npmjs.com/package/globalize
            3. i18n - https://www.npmjs.com/package/i18n

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2015-01-30
              • 1970-01-01
              • 1970-01-01
              • 2019-08-13
              • 2010-11-16
              • 1970-01-01
              • 2012-06-23
              相关资源
              最近更新 更多