如何使用i18n-2模块根据url params更改语言

时间:2015-02-12 15:32:35

标签: javascript json node.js internationalization middleware

我疯了!

从昨天开始,我正在尝试设置i18n-2模块,但无法更改语言,任何人都可以帮助我吗?

此node.js模块文档较差,希望不要使用/:params

来更改语言的示例

所以我这样想:

//配置:

I18n.expressBind(app, {
    locales: ['en', 'pt'],
    cookieName: 'locale'
});

这就是我试图根据/:locale

更改语言的方式
app.use(function (req, res, next) {
    req.i18n.setLocale(req.params.locale);
    next();
});

app.get('/:locale', function(req, res) {
    console.log(req.i18n.__("My Site Title"));
});

我在locale文件夹中有两个文件,' pt.json' - 葡萄牙语和' en.json' - 英语。

PT:

{
    "My Site Title": "Titulo",
}

EN:

{
    "My Site Title": "My Title",
}

但是并不是全部工作......即使我尝试访问site.com/pt,也会加载en json。

我在这里做错了什么?

0 个答案:

没有答案