diff --git a/app/src/lib/i18n/index.ts b/app/src/lib/i18n/index.ts new file mode 100644 index 0000000..e6a500b --- /dev/null +++ b/app/src/lib/i18n/index.ts @@ -0,0 +1,23 @@ +import { addMessages, init, locale, _ } from 'svelte-i18n'; +import de from './messages/de.json'; +import en from './messages/en.json'; +import { activeLocale, SUPPORTED_LOCALES } from './activeLocale'; + +let initialized = false; + +export function initI18n(): void { + if (initialized) return; + initialized = true; + addMessages('de', de); + addMessages('en', en); + init({ + fallbackLocale: 'de', + initialLocale: 'de' + }); + activeLocale.bootstrap(); + activeLocale.subscribe((l) => { + locale.set(l); + }); +} + +export { _ as t, locale, activeLocale, SUPPORTED_LOCALES };