import i18n from 'i18next'; import { initReactI18next } from 'react-i18next'; import * as RNLocalize from 'react-native-localize'; // 导入语言包 import en from './lang/en'; import zh from './lang/zh'; // 获取设备支持的语言 const fallbackLanguage = { languageTag: 'en', isRTL: false }; const { languageTag } = RNLocalize.findBestAvailableLanguage(['en', 'zh']) || fallbackLanguage; // 初始化 i18n i18n .use(initReactI18next) // 将 i18n 传递给 react-i18next .init({ resources: { en: { translation: en }, zh: { translation: zh }, }, lng: languageTag, // 设置初始语言 fallbackLng: 'en', // fallback 语言 interpolation: { escapeValue: false, // react 已经处理了 XSS }, }); export default i18n;