docs: improve language matching logic (#18412)

fix(docs): improve language matching logic
This commit is contained in:
DDDDD12138 2024-10-12 10:14:39 +08:00 committed by GitHub
parent fb8c6fd77c
commit ba59b5d20e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,18 +2,15 @@
const supportedLangs = window.supportedLangs
const cacheKey = 'preferred_lang'
const defaultLang = 'en-US'
// docs supported languages
const langAlias = {
en: 'en-US',
fr: 'fr-FR',
es: 'es-ES',
const handleNavigatorLang = (navLang) => {
const { language, region } = new Intl.Locale(navLang).maximize()
return `${language}-${region}`
}
let userPreferredLang = localStorage.getItem(cacheKey) || navigator.language
const language =
langAlias[userPreferredLang] ||
(supportedLangs.includes(userPreferredLang)
? userPreferredLang
: defaultLang)
let userPreferredLang =
localStorage.getItem(cacheKey) || handleNavigatorLang(navigator.language)
const language = supportedLangs.includes(userPreferredLang)
? userPreferredLang
: defaultLang
localStorage.setItem(cacheKey, language)
userPreferredLang = language
if (!location.pathname.startsWith(`/${userPreferredLang}`)) {