兰宝车间质量管理系统-前端
疯狂的狮子Li
2025-01-20 11e269546592fa32d8f6a91daf962895fc573687
src/lang/index.ts
@@ -1,45 +1,33 @@
// 自定义国际化配置
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 zh_CN from '@/lang/zh_CN';
import en_US from '@/lang/en_US';
/**
 * 获取当前系统使用语言字符串
 *
 * 获取当前语言
 * @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: {
    zh_CN: zh_CN,
    en_US: en_US
  }
});
export default i18n;
export type LanguageType = typeof zh_CN;