1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import Vue from 'vue' // 引入vue
import VueI18n from 'vue-i18n' // 引入i18n模块
import elementEnLocale from 'element-ui/lib/locale/lang/en' // element-ui英文包
import elementZhLocale from 'element-ui/lib/locale/lang/zh-CN' // element-ui中文包
import locale from 'element-ui/lib/locale' // 引入elementuiui语言包模块
import enLocale from './en' // 本地英文包
import zhLocale from './zh' // 本地中文包
import esLocale from './es'
import frLocale from './fr'
import deLocale from './de'
import ruLocale from './ru'
import arLocale from './ar'
import ptLocale from './pt'
import koLocale from './ko'
 
Vue.use(VueI18n) // vue使用i18n模块
// 引入本地
const messages = {
  EN: {
    ...enLocale, // es6的拓展运算符,相当于解析出每个对象
    ...elementEnLocale
  },
  CN: {
    ...zhLocale,
    ...elementZhLocale
  },
  ES: {
    ...esLocale,
    ...elementEnLocale
  },
  FR: {
    ...frLocale,
    ...elementEnLocale
  },
  DE: {
    ...deLocale,
    ...elementEnLocale
  },
  RU: {
    ...ruLocale,
    ...elementEnLocale
  },
  AR: {
    ...arLocale,
    ...elementEnLocale
  },
  PT: {
    ...ptLocale,
    ...elementEnLocale
  },
  KO: {
    ...koLocale,
    ...elementEnLocale
  }
}
let publicConfig = sessionStorage.getItem('publicConfig')
let { language } = publicConfig ? JSON.parse(publicConfig) : {}
// 创建国际化实例
const i18n = new VueI18n({
  locale: language, // set locale,默认中文
  messages // set locale messages。语言包
})
locale.i18n((key, value) => i18n.t(key, value))
export default i18n