import i18n from 'i18next'
import { initReactI18next } from 'react-i18next'
import zh from '@/locales/zh.json'
import en from '@/locales/en.json'
const resources = {
zh: { translation: zh },
en: { translation: en },
}
// 从 localStorage 读取已保存的语言设置
const savedLang = (() => {
try {
const raw = localStorage.getItem('rainbow-settings')
if (raw) {
const parsed = JSON.parse(raw)
if (parsed?.state?.language === 'en') return 'en'
}
} catch { /* ignore */ }
return 'zh'
})()
i18n.use(initReactI18next).init({
resources,
lng: savedLang,
fallbackLng: 'zh',
interpolation: {
escapeValue: false, // React 已处理 XSS
},
})
export default i18n
|