兰宝车间质量管理系统-前端
疯狂的狮子Li
2025-01-20 8d398d2940df74723a07c6a8ec877b3f203fb428
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.json';
import en_US from '@/lang/en_US.json';
/**
 * 获取当前系统使用语言字符串
 *
 * 获取当前语言
 * @returns zh-cn|en ...
 */
export const getLanguage = () => {
  // 本地缓存获取
  let language = localStorage.getItem('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
  messages: {
    zh_CN: zh_CN,
    en_US: en_US
  }
});
export default i18n;
export type LanguageType = typeof zh_CN;