# 国际化

element-ui-pro-components 组件内部默认使用中文,若希望使用其他语言,则需要进行多语言设置。以英文为例,在 main.js 中:

// 完整引入 element-ui-pro-components
import Vue from 'vue'
import ElementUIProComponents from 'element-ui-pro-components'
import locale from 'element-ui-pro-components/lib/locale/lang/en'

Vue.use(ElementUIProComponents, { locale })
1
2
3
4
5
6

// 按需引入 element-ui-pro-components
import { ProForm, EditableProTable } from 'element-ui-pro-components'
import lang from 'element-ui-pro-components/lib/locale/lang/en'
import locale from 'element-ui-pro-components/lib/locale'

locale.use(lang)

Vue.use(ProForm)
Vue.use(EditableProTable)
1
2
3
4
5
6
7
8
9

# 兼容 i18n

import Vue from 'vue'
import ElementUIProComponents from 'element-ui-pro-components'
import VueI18n from 'vue-i18n'
import enLocale from 'element-ui-pro-components/lib/locale/lang/en'
import zhLocale from 'element-ui-pro-components/lib/locale/lang/zh-CN'

Vue.use(VueI18n)

const messages = {
  en: {
    message: 'hello',
    ...enLocale // 或者用 Object.assign({ message: 'hello' }, enLocale)
  },
  zh: {
    message: '你好',
    ...zhLocale // 或者用 Object.assign({ message: '你好' }, zhLocale)
  }
}
// Create VueI18n instance with options
const i18n = new VueI18n({
  locale: 'en', // set locale
  messages, // set locale messages
})

Vue.use(ElementUIProComponents, {
  i18n: (key, value) => i18n.t(key, value)
})

new Vue({ i18n }).$mount('#app')
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

import Vue from 'vue'
import VueI18n from 'vue-i18n'
import { ProForm, EditableProTable } from 'element-ui-pro-components'
import enLocale from 'element-ui-pro-components/lib/locale/lang/en'
import zhLocale from 'element-ui-pro-components/lib/locale/lang/zh-CN'
import ProComponentsLocale from 'element-ui-pro-components/lib/locale'

Vue.use(VueI18n)
Vue.use(ProForm)
Vue.use(EditableProTable)

const messages = {
  en: {
    message: 'hello',
    ...enLocale
  },
  zh: {
    message: '你好',
    ...zhLocale
  }
}
// Create VueI18n instance with options
const i18n = new VueI18n({
  locale: 'en', // set locale
  messages, // set locale messages
})

ProComponentsLocale.i18n((key, value) => i18n.t(key, value))
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