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';
import fr from '../locales/fr.json';
import ar from '../locales/ar.json';

const deviceLocale = Localization.getLocales()[0]?.languageCode ?? 'en';
const initialLng =
  deviceLocale === 'de'
    ? 'de'
    : deviceLocale === 'fr'
      ? 'fr'
      : deviceLocale === 'ar'
        ? 'ar'
        : 'en';

i18n.use(initReactI18next).init({
  resources: {
    de: { translation: de },
    en: { translation: en },
    fr: { translation: fr },
    ar: { translation: ar },
  },
  lng: initialLng,
  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;
