From c206ab5b4a38f99bec4ee34d7b01bbabc83fa120 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期三, 19 六月 2024 14:29:44 +0800 Subject: [PATCH] update 优化 三方登录不同域名问题 采用新方案 --- src/lang/index.ts | 46 ++++++++++++++-------------------------------- 1 files changed, 14 insertions(+), 32 deletions(-) diff --git a/src/lang/index.ts b/src/lang/index.ts index 1048211..e4e1d25 100644 --- a/src/lang/index.ts +++ b/src/lang/index.ts @@ -1,45 +1,27 @@ // 鑷畾涔夊浗闄呭寲閰嶇疆 import { createI18n } from 'vue-i18n'; -// 鏈湴璇█鍖� -import enLocale from './en'; -import zhCnLocale from './zh-cn'; - -const messages = { - 'zh-cn': { - ...zhCnLocale - }, - en: { - ...enLocale - } -}; +import { LanguageEnum } from '@/enums/LanguageEnum'; +import messages from '@intlify/unplugin-vue-i18n/messages'; /** - * 鑾峰彇褰撳墠绯荤粺浣跨敤璇█瀛楃涓� - * + * 鑾峰彇褰撳墠璇█ * @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