index.ts 673 B

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