wip: Set default language from config

This commit is contained in:
Ased Mammad 2024-03-24 06:46:18 +03:30
parent cb364f0ac7
commit 26121c5d88
4 changed files with 39 additions and 29 deletions

View file

@ -37,30 +37,36 @@ const createIsLoadingStore = (i18n: i18nType) => {
return isLoading;
};
i18next
.use(
resourcesToBackend(
(language: string, namespace: string) => import(`./locales/${language}/${namespace}.json`)
)
)
.use(LanguageDetector)
.init({
debug: false,
detection: {
order: ['querystring', 'localStorage', 'navigator'],
caches: ['localStorage'],
lookupQuerystring: 'lang',
lookupLocalStorage: 'locale'
},
fallbackLng: {
default: ['en-US']
},
ns: 'translation',
returnEmptyString: false,
interpolation: {
escapeValue: false // not needed for svelte as it escapes by default
}
});
export const initI18n = (defaultLocale: string) => {
let detectionOrder = defaultLocale
? ['querystring', 'localStorage']
: ['querystring', 'localStorage', 'navigator'];
let fallbackDefaultLocale = defaultLocale ? [defaultLocale] : ['en-US'];
const loadResource = (language: string, namespace: string) =>
import(`./locales/${language}/${namespace}.json`);
i18next
.use(resourcesToBackend(loadResource))
.use(LanguageDetector)
.init({
debug: false,
detection: {
order: detectionOrder,
caches: ['localStorage'],
lookupQuerystring: 'lang',
lookupLocalStorage: 'locale'
},
fallbackLng: {
default: fallbackDefaultLocale
},
ns: 'translation',
returnEmptyString: false,
interpolation: {
escapeValue: false // not needed for svelte as it escapes by default
}
});
};
const i18n = createI18nStore(i18next);
const isLoadingStore = createIsLoadingStore(i18next);