From 24f1e8b4b1a54191973eca060bc40c4a1a6d8ea6 Mon Sep 17 00:00:00 2001
From: QianRj <923207736@qq.com>
Date: 星期二, 19 十一月 2024 14:40:36 +0800
Subject: [PATCH] update 优化 直接从@/lang/*.ts后缀的i18n文件中读取各国语言包信息

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

diff --git a/src/lang/index.ts b/src/lang/index.ts
index 1048211..737beb2 100644
--- a/src/lang/index.ts
+++ b/src/lang/index.ts
@@ -1,45 +1,36 @@
 // 鑷畾涔夊浗闄呭寲閰嶇疆
 import { createI18n } from 'vue-i18n';
 
-// 鏈湴璇█鍖�
-import enLocale from './en';
-import zhCnLocale from './zh-cn';
+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 = localStorage.getItem('language');
-	if (language) {
-		return language;
-	}
-	// 娴忚鍣ㄤ娇鐢ㄨ瑷�
-	language = navigator.language.toLowerCase();
-	const locales = Object.keys(messages);
-	for (const locale of locales) {
-		if (language.indexOf(locale) > -1) {
-			return locale;
-		}
-	}
-	return 'zh-cn';
+export const getLanguage = (): LanguageEnum => {
+  const language = useStorage<LanguageEnum>('language', LanguageEnum.zh_CN);
+  if (language.value) {
+    return language.value;
+  }
+  return LanguageEnum.zh_CN;
 };
 
 const i18n = createI18n({
-	legacy: false,
-	locale: getLanguage(),
-	messages: messages
+  globalInjection: true,
+  allowComposition: true,
+  legacy: false,
+  locale: getLanguage(),
+  messages
 });
 
 export default i18n;

--
Gitblit v1.9.3