1
多言語Webサイトのルーティングを設定しようとしています。私の目標は、すでに検出されている言語に基づいてユーザーをリダイレクトすることです。エクスプレスルーティング - ロケールに基づいてリダイレクト
これが私の現在の未完成のコードです:私は、URL(urlLang
)から要求された言語を減算してみてください。この例では
app.get('/(:lang)?', (req, res, next) => {
const urlLang = req.params.lang || 'en'; // English is default
const userLang = 'nl'; // Will be detected
if (urlLang !== userLang) {
// Wrong URL
res.redirect(userLang + req.url);
} else next();
});
。その言語がユーザーの言語と一致しない場合は、適切なURLにリダイレクトする必要があります。
私が達成しようとしているもののいくつかの例:言語en
要求/
と
- ユーザー:いいえ言語
nl
要求/
で - ユーザーをリダイレクトする:言語と
/nl
- ユーザーへのリダイレクト
en
リクエスト/foo/bar
:リダイレクトなし - 言語のユーザー
nl
/foo/bar
を要求:要求されたパスが/home
または/nl/home
のようなルートの/
または/:lang
ですが、ない場合は私の現在のコードのみ機能/nl/foo/bar
など言語検出、変換ロジック、ビュー、のように私は唯一のルーティングについて尋ねています、私はすでに他のすべてを設定しているのでご注意ください。事前にサポートするために必要なすべての言語識別子を知っている場合