index.ts 699 B

123456789101112131415161718192021222324252627282930313233
  1. // 自定义国际化配置
  2. import { createI18n } from 'vue-i18n';
  3. import { LanguageEnum } from '@/enums/LanguageEnum';
  4. import zh_CN from '@/lang/zh_CN';
  5. import en_US from '@/lang/en_US';
  6. /**
  7. * 获取当前语言
  8. * @returns zh-cn|en ...
  9. */
  10. export const getLanguage = (): LanguageEnum => {
  11. const language = useStorage<LanguageEnum>('language', LanguageEnum.zh_CN);
  12. if (language.value) {
  13. return language.value;
  14. }
  15. return LanguageEnum.zh_CN;
  16. };
  17. const i18n = createI18n({
  18. globalInjection: true,
  19. allowComposition: true,
  20. legacy: false,
  21. locale: getLanguage(),
  22. messages: {
  23. zh_CN: zh_CN,
  24. en_US: en_US
  25. }
  26. });
  27. export default i18n;
  28. export type LanguageType = typeof zh_CN;