【问题标题】:Express.js app with multi-language routes具有多语言路由的 Express.js 应用程序
【发布时间】:2018-01-26 03:01:24
【问题描述】:

我是 Node.jsExpress.js 开发的新手,我正在寻找一种简单易用的解决方案来使用 i18n 模块创建多语言路由。

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

www.myapp.com/zh/about

www.myapp.com/de/关于

www.myapp.com/fr/关于

我想从 url 获取语言作为字符串并将其作为变量沙到视图中。像这样:

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

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

【问题讨论】:

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


    【解决方案1】:

    您可以使用req.params 获取URL 参数。您可以将 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}); 
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-18
      • 2020-11-26
      • 2011-09-07
      • 2015-04-12
      相关资源
      最近更新 更多