From 8d398d2940df74723a07c6a8ec877b3f203fb428 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 20 一月 2025 10:16:27 +0800 Subject: [PATCH] update 优化 国际化改为使用json 书写更方便 --- src/lang/index.ts | 46 +++++++++++++++++----------------------------- 1 files changed, 17 insertions(+), 29 deletions(-) diff --git a/src/lang/index.ts b/src/lang/index.ts index f8c0801..a6bf6b8 100644 --- a/src/lang/index.ts +++ b/src/lang/index.ts @@ -1,45 +1,33 @@ // 鑷畾涔夊浗闄呭寲閰嶇疆 import { createI18n } from 'vue-i18n'; -// 鏈湴璇█鍖� -import enUSLocale from './en_US'; -import zhCNLocale from './zh_CN'; -import Cookies from 'js-cookie'; - -const messages = { - zh_CN: { - ...zhCNLocale - }, - en_US: { - ...enUSLocale - } -}; +import { LanguageEnum } from '@/enums/LanguageEnum'; +import zh_CN from '@/lang/zh_CN.json'; +import en_US from '@/lang/en_US.json'; /** - * 鑾峰彇褰撳墠绯荤粺浣跨敤璇█瀛楃涓� + * 鑾峰彇褰撳墠璇█ * @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 + messages: { + zh_CN: zh_CN, + en_US: en_US + } }); export default i18n; + +export type LanguageType = typeof zh_CN; -- Gitblit v1.9.3