index.ts 870 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import i18next from 'i18next';
import resourcesToBackend from 'i18next-resources-to-backend';
import LanguageDetector from 'i18next-browser-languagedetector';
import { createI18nStore, isLoading as isLoadingStore } from './store';

i18next
	.use(
		resourcesToBackend((language, namespace) => import(`./locales/${language}/${namespace}.json`))
	)
	.use(LanguageDetector)
	.init({
		debug: true,
		detection: {
			order: ['querystring', 'localStorage', 'navigator'],
			caches: ['localStorage'],
			lookupQuerystring: 'lang',
			lookupLocalStorage: 'locale'
		},
		fallbackLng: 'en',
		ns: 'common',
		// backend: {
		// 	loadPath: '/locales/{{lng}}/{{ns}}.json'
		// }
		interpolation: {
			escapeValue: false // not needed for svelte as it escapes by default
		}
	});
const i18n = createI18nStore(i18next);
export default i18n;
export const isLoading = isLoadingStore;