refactor: Remove changes to i18n/index.ts

This commit is contained in:
bannert 2024-07-01 18:38:52 +02:00 committed by GitHub
parent 586de1f5ba
commit 8634140306
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,6 +1,6 @@
import i18next from 'i18next'; import i18next from 'i18next';
import LanguageDetector from 'i18next-browser-languagedetector';
import resourcesToBackend from 'i18next-resources-to-backend'; import resourcesToBackend from 'i18next-resources-to-backend';
import LanguageDetector from 'i18next-browser-languagedetector';
import type { i18n as i18nType } from 'i18next'; import type { i18n as i18nType } from 'i18next';
import { writable } from 'svelte/store'; import { writable } from 'svelte/store';
@ -37,14 +37,14 @@ const createIsLoadingStore = (i18n: i18nType) => {
return isLoading; return isLoading;
}; };
export const initI18n = (defaultLocale?: string) => { export const initI18n = (defaultLocale: string | undefined) => {
// Use object destructuring for cleaner code let detectionOrder = defaultLocale
const [defaultDetection, fallbackDetection] = defaultLocale ? ['querystring', 'localStorage'] : ['querystring', 'localStorage', 'navigator']; ? ['querystring', 'localStorage']
: ['querystring', 'localStorage', 'navigator'];
let fallbackDefaultLocale = defaultLocale ? [defaultLocale] : ['en-US'];
// Use nullish coalescing operator to simplify the ternary expression const loadResource = (language: string, namespace: string) =>
const fallbackDefaultLocale = defaultLocale ?? 'en-US'; import(`./locales/${language}/${namespace}.json`);
const loadResource = (language: string, namespace: string) => import(`./locales/${language}/${namespace}.json`);
i18next i18next
.use(resourcesToBackend(loadResource)) .use(resourcesToBackend(loadResource))
@ -52,15 +52,19 @@ export const initI18n = (defaultLocale?: string) => {
.init({ .init({
debug: false, debug: false,
detection: { detection: {
order: [defaultDetection, fallbackDetection], order: detectionOrder,
caches: ['localStorage'], caches: ['localStorage'],
lookupQuerystring: 'lang', lookupQuerystring: 'lang',
lookupLocalStorage: 'locale' lookupLocalStorage: 'locale'
}, },
fallbackLng: fallbackDefaultLocale, fallbackLng: {
default: fallbackDefaultLocale
},
ns: 'translation', ns: 'translation',
returnEmptyString: false, returnEmptyString: false,
interpolation: { escapeValue: false } interpolation: {
escapeValue: false // not needed for svelte as it escapes by default
}
}); });
}; };