elementUI + i18n 国际化翻译

import Vue from 'vue';
import VueI18n from 'vue-i18n';
import eleLocale from 'element-ui/lib/locale';
import enLocale from 'element-ui/lib/locale/lang/en';
import zhLocale from 'element-ui/lib/locale/lang/zh-CN';
import $HTTP from '@/utils/http';
import { getCookie, getUrlHashParam, setCookie } from '@/utils/common';
import router from './router';
import store from './store';
import App from './App';

import EnDec from './lang/en';
import ChDec from './lang/ch';

Vue.prototype.$message = Message;
if (getUrlHashParam('langtype')) {
  setCookie('_udbl_', getUrlHashParam('langtype'));
}

Vue.config.productionTip = false;
Vue.component(Upload.name, Upload);
Vue.component(Select.name, Select);
Vue.component(Option.name, Option);
Vue.component(DatePicker.name, DatePicker);
Vue.component(Form.name, Form);
Vue.component(FormItem.name, FormItem);
Vue.component(Input.name, Input);
Vue.component(DatePicker.name, DatePicker);
Vue.component(Message.name, Message);
Vue.component(Button.name, Button);
Vue.component(Dialog.name, Dialog);
Vue.component(Pagination.name, Pagination);
Vue.prototype.$http = $HTTP;
// Vue.component(Select.name, Select);
// Vue.use(ElementUI);
Vue.use(VueI18n);

const i18n = new VueI18n({
  locale: getCookie('_udbl_') || 'zh_CN', // set locale
  messages: {
    en_US: Object.assign(EnDec, enLocale),
    zh_CN: Object.assign(ChDec, zhLocale)
  }, // set locale messages
});
eleLocale.i18n((key, value) => i18n.t(key, value));

猜你喜欢

转载自blog.csdn.net/jo_an_na/article/details/84858253