index.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import Vue from 'vue';
  2. import VueI18n from 'vue-i18n';
  3. import { localRead } from '@/libs/util';
  4. import customZhCn from './lang/zh-CN';
  5. import customZhTw from './lang/zh-TW';
  6. import customEnUs from './lang/en-US';
  7. import zhCnLocale from 'iview/src/locale/lang/zh-CN';
  8. import enUsLocale from 'iview/src/locale/lang/en-US';
  9. import zhTwLocale from 'iview/src/locale/lang/zh-TW';
  10. Vue.use(VueI18n);
  11. // 自动根据浏览器系统语言设置语言
  12. const navLang = navigator.language;
  13. const localLang = navLang === 'zh-CN' || navLang === 'en-US' ? navLang : false;
  14. let lang = localLang || localRead('local') || 'zh-CN';
  15. Vue.config.lang = lang;
  16. // vue-i18n 6.x+写法
  17. Vue.locale = () => {};
  18. const messages = {
  19. 'zh-CN': Object.assign(zhCnLocale, customZhCn),
  20. 'zh-TW': Object.assign(zhTwLocale, customZhTw),
  21. 'en-US': Object.assign(enUsLocale, customEnUs),
  22. };
  23. const i18n = new VueI18n({
  24. locale: lang,
  25. messages,
  26. });
  27. export default i18n;
  28. // vue-i18n 5.x写法
  29. // Vue.locale('zh-CN', Object.assign(zhCnLocale, customZhCn))
  30. // Vue.locale('en-US', Object.assign(zhTwLocale, customZhTw))
  31. // Vue.locale('zh-TW', Object.assign(enUsLocale, customEnUs))