Merge pull request #938 from sorin-davidoi/lang-respect-fallbacks

fix(lang): respect fallback languages
This commit is contained in:
Chee Aun 2024-11-19 09:21:20 +08:00 committed by GitHub
commit 2e83df6f25
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,9 +1,9 @@
import { i18n } from '@lingui/core'; import { i18n } from '@lingui/core';
import { import {
detect,
fromNavigator, fromNavigator,
fromStorage, fromStorage,
fromUrl, fromUrl,
multipleDetect,
} from '@lingui/detect-locale'; } from '@lingui/detect-locale';
import Locale from 'intl-locale-textinfo-polyfill'; import Locale from 'intl-locale-textinfo-polyfill';
@ -54,7 +54,7 @@ export async function activateLang(lang) {
} }
export function initActivateLang() { export function initActivateLang() {
const lang = detect( const languages = multipleDetect(
fromUrl('lang'), fromUrl('lang'),
fromStorage('lang'), fromStorage('lang'),
fromNavigator(), fromNavigator(),
@ -62,7 +62,8 @@ export function initActivateLang() {
DEFAULT_LANG, DEFAULT_LANG,
); );
const matchedLang = const matchedLang =
ALL_LOCALES.find((l) => l === lang) || localeMatch(lang, ALL_LOCALES); languages.find((l) => ALL_LOCALES.includes(l)) ||
localeMatch(languages, ALL_LOCALES);
activateLang(matchedLang); activateLang(matchedLang);
// const yes = confirm(t`Reload to apply language setting?`); // const yes = confirm(t`Reload to apply language setting?`);