国际化普通Express.js

时间:2015-04-11 09:28:08

标签: javascript node.js express

假设我有以下代码:

HTML

<ul id="navMenu">
    <li>{{inter.home}}</li>
    <li>{{inter.aboutUs}}</li>
</ul>

表达

router.get('/:lang/news', function (req, res) {
var language = req.params.lang;

var interObjects = {
    ru: russianInterObj,
    en: englishInterObj
};

(interObjects[language]) ? res.render('view.hjs', {inter: interObjects[language], ...}) 
                         : res.sendStatus(404);
});

这种国际化方法会不会很好?

谢谢

1 个答案:

答案 0 :(得分:1)

创建的本地化页面有2个观点:

外部(消费者)

您将拥有domain.com/lang/page.html类型的网址,这是预期的。在这方面,你的方法无疑是好的。

内部(提供者/开发者)

然而,关于维护代码,虽然您的方法很好,但可能很难将其扩展到几行之外。

如果你确定你的语言环境数据结构最多不会超过一百行,我建议你保留它。如果你以后可能需要扩展它,你应该更喜欢一个更具扩展性的方法,可能是使用为此设计的包(快速搜索npmjs会给你一些回报)