From c547081aa61be5c7b6d4c12853c675954c2156eb Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Tue, 10 Feb 2026 14:45:18 +0800
Subject: [PATCH] 1

---
 src/utils/index.js |   43 ++++++++++++++++++++++++++++---------------
 1 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/src/utils/index.js b/src/utils/index.js
index aeead46..bf4045e 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -18,22 +18,35 @@
   }
   return JSON.parse(str)
 }
-// 获取浏览器默认语言
+// 支持的 locale 列表,与 i18n 保持一致
+const BROWSER_LOCALE_MAP = {
+  'zh-cn': 'zh-CN',
+  'zh-sg': 'zh-CN',
+  'zh-hans': 'zh-CN',
+  'zh-tw': 'CN',
+  'zh-hk': 'CN',
+  'zh-mo': 'CN',
+  'zh-hant': 'CN',
+  'zh': 'zh-CN',
+  'cn': 'zh-CN',
+  'en': 'en',
+  'de': 'de',
+  'fr': 'fr',
+  'es': 'es',
+  'it': 'Italy',
+  'ja': 'Japanese',
+  'ko': 'Korean',
+  'pt': 'pt',
+  'vi': 'vi',
+  'th': 'th',
+  'el': 'gr',
+}
+
+// 获取浏览器默认语言,映射到项目支持的 locale
 export const getBrowserLang = function () {
-  let browserLang = navigator.language
-    ? navigator.language
-    : navigator.browserLanguage
-  let defaultBrowserLang = ''
-  if (
-    browserLang.toLowerCase() === 'cn' ||
-    browserLang.toLowerCase() === 'zh' ||
-    browserLang.toLowerCase() === 'zh-cn'
-  ) {
-    defaultBrowserLang = 'CN'
-  } else {
-    defaultBrowserLang = 'en'
-  }
-  return defaultBrowserLang
+  const raw = (navigator.language || navigator.browserLanguage || '').toLowerCase()
+  const tag = raw.split('-')[0]
+  return BROWSER_LOCALE_MAP[raw] || BROWSER_LOCALE_MAP[tag] || 'en'
 }
 
 export const dataTime = (data, isTrue) => {

--
Gitblit v1.9.3