27 lines
764 B
TypeScript

import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import * as Localization from 'expo-localization';
import de from '../locales/de.json';
import en from '../locales/en.json';
const deviceLocale = Localization.getLocales()[0]?.languageCode ?? 'en';
i18n.use(initReactI18next).init({
resources: {
de: { translation: de },
en: { translation: en },
},
lng: deviceLocale === 'de' ? 'de' : 'en',
fallbackLng: 'en',
// RN hat kein eingebautes Intl.PluralRules — v3 funktioniert nativ ohne Polyfill
compatibilityJSON: 'v3',
interpolation: {
escapeValue: false,
// Locale-Dateien verwenden Vue-i18n-Style %{var} (1:1 portiert aus der Nuxt-App).
prefix: '%{',
suffix: '}',
},
});
export default i18n;