From 8d398d2940df74723a07c6a8ec877b3f203fb428 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期一, 20 一月 2025 10:16:27 +0800
Subject: [PATCH] update 优化 国际化改为使用json 书写更方便

---
 src/lang/index.ts |   46 +++++++++++++++++-----------------------------
 1 files changed, 17 insertions(+), 29 deletions(-)

diff --git a/src/lang/index.ts b/src/lang/index.ts
index 8fdf19e..a6bf6b8 100644
--- a/src/lang/index.ts
+++ b/src/lang/index.ts
@@ -1,45 +1,33 @@
 // 鑷畾涔夊浗闄呭寲閰嶇疆
 import { createI18n } from 'vue-i18n';
 
-// 鏈湴璇█鍖�
-import enLocale from './en';
-import zhCnLocale from './zh-cn';
-import Cookies from 'js-cookie';
-
-const messages = {
-  'zh-cn': {
-    ...zhCnLocale
-  },
-  en: {
-    ...enLocale
-  }
-};
+import { LanguageEnum } from '@/enums/LanguageEnum';
+import zh_CN from '@/lang/zh_CN.json';
+import en_US from '@/lang/en_US.json';
 
 /**
- * 鑾峰彇褰撳墠绯荤粺浣跨敤璇█瀛楃涓�
+ * 鑾峰彇褰撳墠璇█
  * @returns zh-cn|en ...
  */
-export const getLanguage = () => {
-  // 鏈湴缂撳瓨鑾峰彇
-  let language = Cookies.get('language');
-  if (language) {
-    return language;
+export const getLanguage = (): LanguageEnum => {
+  const language = useStorage<LanguageEnum>('language', LanguageEnum.zh_CN);
+  if (language.value) {
+    return language.value;
   }
-  // 娴忚鍣ㄤ娇鐢ㄨ瑷�
-  language = navigator.language.toLowerCase();
-  const locales = Object.keys(messages);
-  for (const locale of locales) {
-    if (language.indexOf(locale) > -1) {
-      return locale;
-    }
-  }
-  return 'zh-cn';
+  return LanguageEnum.zh_CN;
 };
 
 const i18n = createI18n({
+  globalInjection: true,
+  allowComposition: true,
   legacy: false,
   locale: getLanguage(),
-  messages
+  messages: {
+    zh_CN: zh_CN,
+    en_US: en_US
+  }
 });
 
 export default i18n;
+
+export type LanguageType = typeof zh_CN;

--
Gitblit v1.9.3