'use client';

import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import LanguageDetector from 'i18next-browser-languagedetector';
import globalFr from './translations/fr/global.json';

if (!i18n.isInitialized) {
  i18n
    .use(LanguageDetector)
    .use(initReactI18next)
    .init({
      resources: {
        fr: { global: globalFr },
      },
      fallbackLng: 'fr',
      defaultNS: 'global',
      interpolation: { escapeValue: false },
      detection: {
        order: ['localStorage', 'navigator'],
        caches: ['localStorage'],
      },
    });
} else {
  // En dev, le HMR ré-évalue ce module sans réinitialiser i18n (garde
  // `isInitialized`) : sans ça, les clés de traduction ajoutées après le
  // premier démarrage ne sont jamais chargées et s'affichent en brut. On
  // rafraîchit donc le bundle (deep + overwrite) à chaque rechargement.
  i18n.addResourceBundle('fr', 'global', globalFr, true, true);
}

export default i18n;
