首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodejs:使用i18n-2客户端和/或服务器端

Nodejs:使用i18n-2客户端和/或服务器端
EN

Stack Overflow用户
提问于 2015-10-22 17:57:25
回答 1查看 676关注 0票数 3

我正在开发nodejs中的proyect,我想为语言翻译添加一个功能。

在互联网上查看,我看到了两个似乎可以的选项(i18n和i18n-2)。

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

在express.js中

代码语言:javascript
复制
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的原因,它应该用英语打印,但它是用西班牙语打印的

代码语言:javascript
复制
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变量发送到客户端,以便在模板视图中使用它,或者是否必须创建另一个。

问候

EN

回答 1

Stack Overflow用户

发布于 2015-11-11 19:01:00

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33278260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档