From 971b4f60ec3a912cb8a507b1cb49b2fefe1b75c4 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期日, 24 十一月 2024 18:56:49 +0800
Subject: [PATCH] !155 refactor: 直接从@/lang/*.ts后缀的i18n文件中读取各国语言包信息 Merge pull request !155 from QianRj/优化i18n

---
 src/lang/index.ts |   41 ++++++++++++++++-------------------------
 1 files changed, 16 insertions(+), 25 deletions(-)

diff --git a/src/lang/index.ts b/src/lang/index.ts
index 8fdf19e..737beb2 100644
--- a/src/lang/index.ts
+++ b/src/lang/index.ts
@@ -1,42 +1,33 @@
 // 鑷畾涔夊浗闄呭寲閰嶇疆
 import { createI18n } from 'vue-i18n';
 
-// 鏈湴璇█鍖�
-import enLocale from './en';
-import zhCnLocale from './zh-cn';
-import Cookies from 'js-cookie';
+import { LanguageEnum } from '@/enums/LanguageEnum';
+import en_US from '@/lang/en_US';
+import zh_CN from '@/lang/zh_CN';
 
+/**
+ * 缁勫悎瀵煎叆鐨勮瑷�鍖�
+ */
 const messages = {
-  'zh-cn': {
-    ...zhCnLocale
-  },
-  en: {
-    ...enLocale
-  }
+  en_US,
+  zh_CN
 };
 
 /**
- * 鑾峰彇褰撳墠绯荤粺浣跨敤璇█瀛楃涓�
+ * 鑾峰彇褰撳墠璇█
  * @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

--
Gitblit v1.9.3