2017-02-18 9 views
0

私は最初の多言語アプリケーションを構築しています。 Middelwareを使用して言語を正しく検出し、req.langに追加しました。次のステップとして、ルートパスをローカライズする方法はありますか?これはSEOにとって非常に便利です。言語に応じて動的に回転/パス名を設定する

ここでは、普遍的なアプローチとは何ですか?私は今のところ思い付いたザッツ

const paths = { 
    en: { 
    index: 'home', 
    imprint: 'imprint' 
    }, 
    de: { 
    index: 'start', 
    imprint: 'impressum' 
    }, 
    nl: { 
    index: 'stchartje', 
    imprint: 'imprintjn' 
    } 

} 

router.get('/'+paths[req.lang].imprint, function(req, res, next) { 
    res.render('index', { title: content[req.lang].IMPRINT.HEADLINE }); 
}) 

reqがルート定義でevailableではないので、それは、しかし働いていません。

答えて

1

あなたはparamsを使用することができます。

router.get('/:slug', function(req, res, next) { 
    if (req.params.slug === paths[req.lang].imprint) { 
     res.render('index', { title: content[req.lang].IMPRINT.HEADLINE }); 
    } else { 
     next(); 
    } 

}) 
+0

おかげでバディが、これはかなりうまく動作します。これもパフォーマンス上の問題だと思いますか? – Seltsam

+0

パフォーマンスに関する問題はありません。 –

+0

さて、おかげさまでもう一度! :-) – Seltsam

関連する問題