Răsfoiți Sursa

feat: update language handling in i18n configuration

- Refactor getCurrentLanguage function to read language settings from localStorage with JSON parsing
- Set default language to Simplified Chinese if no valid language is found
- Adjust i18n configuration to use updated language retrieval logic and set fallback locale to Simplified Chinese
yb 3 săptămâni în urmă
părinte
comite
edee8f84be
1 a modificat fișierele cu 15 adăugiri și 16 ștergeri
  1. 15 16
      src/locales/index.ts

+ 15 - 16
src/locales/index.ts

@@ -12,29 +12,28 @@ const messages = {
 }
 
 const getCurrentLanguage = () => {
-  //设置
-  let langCode = 'en'
-  const language = localStorage.getItem('lang')
-  switch (language) {
-    case 'en':
-      langCode = 'en'
-      break
-    case 'cn':
-      langCode = 'zh-cn'
-      break
-    default:
-      langCode = 'en'
+  // 从 localStorage 读取语言设置,与 app store 保持一致
+  // useStorage 使用 JSON 序列化,所以需要 parse
+  try {
+    const stored = localStorage.getItem('language')
+    if (stored) {
+      const language = JSON.parse(stored)
+      if (language === 'zh-cn' || language === 'en') {
+        return language
+      }
+    }
+  } catch {
+    // ignore parse error
   }
-  return langCode
+  return 'zh-cn' // 默认中文
 }
 
 const i18n = createI18n({
   legacy: false,
   globalInjection: true,
-  locale: getCurrentLanguage(), //去getCurrentLanguage函数找有没有设置的语言,默认选择zh
+  locale: getCurrentLanguage(),
   messages,
-  fallbackLocale: 'en-US',
-  defaultLocale: 'en-US'
+  fallbackLocale: 'zh-cn'
 })
 
 export default i18n