兰宝车间质量管理系统-前端
疯狂的狮子Li
2025-01-20 8d398d2940df74723a07c6a8ec877b3f203fb428
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;