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