diff --git a/docs/.vitepress/lang.js b/docs/.vitepress/lang.js index 11c385cefd..e4cfefddd4 100644 --- a/docs/.vitepress/lang.js +++ b/docs/.vitepress/lang.js @@ -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}`)) {