fix: 添加better auth 接口配置
This commit is contained in:
24
lib/i18n.ts
24
lib/i18n.ts
@@ -1,11 +1,11 @@
|
||||
import i18n from 'i18next'
|
||||
import { initReactI18next } from 'react-i18next'
|
||||
import AsyncStorage from '@react-native-async-storage/async-storage'
|
||||
import { NativeModules, Platform } from 'react-native'
|
||||
import { storage } from './storage'
|
||||
|
||||
// 导入语言资源
|
||||
import zhCN from '../locales/zh-CN.json'
|
||||
import enUS from '../locales/en-US.json'
|
||||
import zhCN from '../locales/zh-CN.json'
|
||||
|
||||
// 定义支持的语言
|
||||
export const SUPPORTED_LANGUAGES = {
|
||||
@@ -52,7 +52,7 @@ const languageDetector = {
|
||||
detect: async (callback: (lng: string) => void) => {
|
||||
try {
|
||||
// 1. 优先使用用户保存的语言设置
|
||||
const savedLanguage = await AsyncStorage.getItem('app_language')
|
||||
const savedLanguage = await storage.getItem('app_language')
|
||||
if (savedLanguage) {
|
||||
// 兼容旧的语言代码格式
|
||||
if (savedLanguage === 'zh' || savedLanguage === 'zh-CN') {
|
||||
@@ -63,7 +63,7 @@ const languageDetector = {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 2. 如果没有保存的语言,尝试使用系统语言
|
||||
const systemLang = getSystemLanguage()
|
||||
callback(systemLang)
|
||||
@@ -73,11 +73,11 @@ const languageDetector = {
|
||||
callback('zh-CN')
|
||||
}
|
||||
},
|
||||
init: () => {},
|
||||
init: () => { },
|
||||
cacheUserLanguage: async (lng: string) => {
|
||||
try {
|
||||
// AsyncStorage 在 Android 和 iOS 上都正常工作
|
||||
await AsyncStorage.setItem('app_language', lng)
|
||||
await storage.setItem('app_language', lng)
|
||||
} catch (error) {
|
||||
console.error('Error saving language:', error)
|
||||
}
|
||||
@@ -97,25 +97,25 @@ i18n.use(languageDetector)
|
||||
translation: enUS,
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
// 默认语言
|
||||
fallbackLng: 'zh-CN',
|
||||
|
||||
|
||||
// 调试模式(开发环境开启)
|
||||
debug: false,
|
||||
|
||||
|
||||
// 兼容性配置:使用 v3 格式处理复数,避免 Android 端 Intl.PluralRules 不支持的问题
|
||||
compatibilityJSON: 'v3',
|
||||
|
||||
|
||||
// 插值配置
|
||||
interpolation: {
|
||||
escapeValue: false, // React已经处理了XSS防护
|
||||
},
|
||||
|
||||
|
||||
// 命名空间配置
|
||||
defaultNS: 'translation',
|
||||
ns: ['translation'],
|
||||
|
||||
|
||||
// 键值分隔符
|
||||
keySeparator: '.',
|
||||
nsSeparator: ':',
|
||||
|
||||
Reference in New Issue
Block a user