27 lines
764 B
TypeScript
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;
|