1
0
mirror of synced 2025-12-21 10:57:10 -05:00

fix: detect language for _next/data requests (#21696)

This commit is contained in:
Mike Surowiec
2021-09-23 17:38:30 -04:00
committed by GitHub
parent cff6a8ade8
commit 06f1d3de73

View File

@@ -35,12 +35,14 @@ function getUserLanguage(browserLanguages) {
}
export default function detectLanguage(req, res, next) {
// determine language code from first part of URL, or default to English
// determine language code from the URL, or default to English
// /en/articles/foo
// ^^
const firstPartOfPath = req.path.split('/')[1]
// /_next/data/development/en/articles/foo
// ^^
const maybeLanguage = req.path.split('/')[req.path.startsWith('/_next/data/') ? 4 : 1]
req.language = languageCodes.includes(firstPartOfPath) ? firstPartOfPath : 'en'
req.language = languageCodes.includes(maybeLanguage) ? maybeLanguage : 'en'
// Detecting browser language by user preference
const browserLanguages = parser.parse(req.headers['accept-language'])
req.userLanguage = getUserLanguage(browserLanguages)