25

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

谢谢!

4

5 回答 5

10

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

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

于 2012-07-25T12:10:39.543 回答
8

https://github.com/jeresig/i18n-node-2

John Resig 的实现

他关于它的博客文章

http://ejohn.org/blog/i18n-module-for-node-and-express-js/

于 2013-07-19T02:22:13.937 回答
7

实际上我使用这个 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' 等。

于 2019-03-05T10:29:53.347 回答
2

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

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

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

const localizify = require('localizify');

// ...

app.configure(() => {
    app.use((request, response, next) => {
        const lang = request.headers['accept-language'] || 'en';
        localize.setLocale(lang);
        next();
    });
});
于 2017-03-27T08:19:01.297 回答