import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import LanguageDetector from 'i18next-browser-languagedetector';

// 导入翻译资源
import zhTranslations from '../locales/zh.json';
import enTranslations from '../locales/en.json';

i18n
  // 检测用户语言
  .use(LanguageDetector)
  // 传递 i18n 实例给 react-i18next
  .use(initReactI18next)
  // 初始化 i18next
  .init({
    resources: {
      zh: {
        translation: zhTranslations,
      },
      en: {
        translation: enTranslations,
      },
    },
    fallbackLng: 'zh', // 默认语言
    debug: false,
    returnEmptyString: false, // 如果翻译不存在，返回键而不是空字符串
    returnNull: false, // 如果翻译不存在，返回键而不是null
    interpolation: {
      escapeValue: false, // React 已经转义了
    },
    detection: {
      // 语言检测顺序
      order: ['localStorage', 'navigator', 'htmlTag'],
      // 缓存用户语言选择
      caches: ['localStorage'],
    },
  });

export default i18n;

