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

This commit is contained in:
Mike Surowiec 2021-09-23 17:38:30 -04:00 коммит произвёл GitHub
Родитель cff6a8ade8
Коммит 06f1d3de73
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 5 добавлений и 3 удалений

Просмотреть файл

@ -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)