2016-11-24 7 views
0

私は現在Javascriptのスキルを向上させるために、すべてのプロジェクトをnode.jsに転送しようとしています。私のクライアントサイトの1つは翻訳会社で、2つの異なる言語を自分のサイト(英語とオランダ語)に追加したいと考えています。私の最初のアイデアは基本的にはクッキーを作成してくれるのですが、ポップアウト)、彼らはこのようなURLで言語を決定したいことのinsteed:クッキーとエクスターナルモジュールを持たないnodejsで多言語を作成する方法

app.use('/en', require('./routes/en')); 
app.use('/nl', require('./routes/nl')); 
:そのような二つの異なるルーティングを設定して私にその簡単にsite.com/en/routingとsite.com/nl/routing

私は異なるmongodbテーブルを持っています: content_enとcontent_nl

1つはすべて英語とオランダ語です。

テーブルcontent_enで/ enのすべての関数をコピーしたくない場合、/ nlでcontent_nlに名前を変更します。より良い解決策を探しています( )。手伝って頂けますか?私はもちろん、1ページ以上、私は別のページがあり、データを追加してデータを編集するには、CMSを構築する必要があります。 データベースを使いたいです。代わりに使用したの

答えて

1

app.use('/en', require('./routes/en')); 
app.use('/nl', require('./routes/nl')); 

、その後、例えばのような両方の言語で同じルートを持つ:

app.get('/:lang/info', ...) 

:あなたは1つのルートを作ることができる

.get('/info', ...) 

を内部にreq.params.langにアクセスしてください。

テーブル名は次のようになります。それは/nl/infoとしてアクセスされた場合、ルートは/en/infoとしてアクセスされた場合"content_en""content_nl"に等しくなる

var table = 'content_' + req.params.lang; 

+0

(そして 'req.params.lang'をサニタイズして、データベースに直接渡さないようにしてください) – robertklep

+0

いい解決策の人に感謝します! –

関連する問題