具有多语言路线的Express.js应用程序

时间:2017-08-17 15:37:22

标签: node.js express routing url-routing multilingual

我对Node.jsExpress.js开发非常陌生,我正在寻找一种简单易用的解决方案,可以使用i18n模块创建多语言路由。

我想在我的应用中实现这样的网址:

www.myapp.com/的 EN /约

www.myapp.com/ de / about

www.myapp.com/ fr / about

我希望将该语言作为字符串从url中获取并将其作为变量添加到视图中。像这样:

app.get("/:lang/about",function(req,res){
    res.render("about",{language: lang}); 
});

默认语言为英语 - en。
请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以使用req.params获取网址参数。您可以将lang设为optional参数,如果未定义,则将其设置为“en”。如果用户在没有指定语言的情况下加载/about,则默认为英语。

app.get("/:lang*?/about",function(req,res){
    var lang = req.params.lang;
    if (lang === undefined) {
        lang = "en"
    }

    res.render("about",{language: lang}); 
});