gpt4 book ai didi

angularjs - Nodejs : Using i18n-2 Client side or Server side or both

转载 作者:太空宇宙 更新时间:2023-11-03 22:33:28 28 4
gpt4 key购买 nike

我正在用nodejs开发一个项目,我想添加一个语言翻译功能。

在互联网上查看时,我看到了 2 个看起来不错的选项(i18n 和 i18n-2)。

我已在服务器端添加了正确的代码以进行配置。

在express.js中

var i18n = require('i18n-2');


i18n.expressBind(app, {
// setup some locales - other locales default to vi silently
locales: ['es', 'en'],
// set the default locale
defaultLocale: 'en',
// set the cookie name
cookieName: 'locale',
extension: ".json"
});

app.use(function(req, res, next) {
req.i18n.setLocaleFromQuery();
req.i18n.setLocaleFromCookie();
next();
});

因此,如果在同一个文件中我将此代码放在下面,由于 defaultLocale 的原因,它应该以英语打印,但它以西类牙语打印

var i18n2 = new (require('i18n-2'))({
locales: ['es', 'en'],
// set the default locale
defaultLocale: 'en',
// set the cookie name
cookieName: 'locale',
extension: ".json"
});
console.log("Mensaje de i18n");
console.log( i18n2.__("hola") );

除了这个问题之外,我想知道如何将这个 i18n 变量发送到客户端,以便在模板 View 中使用它,或者是否必须创建另一个变量。

问候

最佳答案

问题是在对象初始化期间未使用defaultLocale 选项。您可以查看here这个库是如何做到的。只是从 locales 数组中取出第一个 el 。因此,如果您将“en”语言放在第一位,它将正常工作。

关于angularjs - Nodejs : Using i18n-2 Client side or Server side or both,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33278260/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com