2016-05-11 4 views
1

クララケンズにはマルチラングのコンテンツを含むブログを作りたいと思っています。 は、どのように私はこれらのURLを取得するには、コントローラ/モデル/ルートを構築する必要があります。クラウケンズのURLとi18nのURL

/en-US/article/hello-world 
/de-DE/article/hello-world 
/it-IT/article/hello-world 

スラグ(ハローワールド)は、国際化する必要はありません。

controllers/en-US/article/index.js 
controllers/de-DE/article/index.js 
controllers/it-IT/article/index.js 

ただ一つのコントローラファイルでこれを行うにはきれいな方法があります: 私のようなファイルには、コントローラをコピーしたくありませんか?

答えて

0

それは、単一のコントローラ使用して行うことができますはい:

router.get('/:locale/article/:article_name', function (req, res) { 
    res.cookie('locale', req.params.locale); 
    res.redirect('/article/:article_name'); 
}); 

次のかもしれません

チェックアウトこれを行うには、このhttps://github.com/krakenjs/kraken-example-with-i18n#adding-a-hook-to-set-the-locale-on-the-fly

一つの方法を達成する方法についての指示のために、この例をコントローラーは1台だけです:

+0

申し訳ありませんが、これはかなり悪い解決策ですか?リクエストごとにロケールのないURLにリダイレクトされ、依然としてクッキーに依存します。 – Nick

+0

@ニックそれは悪い解決策です。 –