You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
import Vue from "vue"
|
|
|
|
import VueI18n from 'vue-i18n'
|
|
|
|
import ElementUI from "element-ui"
|
|
|
|
// element 多语言文件
|
|
|
|
import locale 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 zh from "./zh"
|
|
|
|
import en from "./en"
|
|
|
|
Vue.use(VueI18n)
|
|
|
|
Vue.use(ElementUI, { zhLocale });
|
|
|
|
// InitLanguage 将用户选择的语言存储到localStorage里
|
|
|
|
function InitLanguage() {
|
|
|
|
return (localStorage.getItem("browserLanguage") == null || localStorage.getItem("browserLanguage") == undefined) ? 'zh-CN' : localStorage.getItem("browserLanguage");
|
|
|
|
}
|
|
|
|
|
|
|
|
const messages = {
|
|
|
|
"zh-CN": {
|
|
|
|
...zh,
|
|
|
|
...zhLocale,
|
|
|
|
},
|
|
|
|
"en": {
|
|
|
|
...en,
|
|
|
|
...enLocale,
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
const i18n = new VueI18n({
|
|
|
|
legacy: false,
|
|
|
|
messages,
|
|
|
|
globalInjection: true, // 全局生效$t
|
|
|
|
fallbackLocale: "zh-CN", // 匹配不到时默认的语言
|
|
|
|
silentTranslationWarn: true, // 控制台的warning
|
|
|
|
locale: InitLanguage(),
|
|
|
|
})
|
|
|
|
|
|
|
|
// todo:element的i18n语言转义,开始使用i18n时候打开下方代码
|
|
|
|
// locale.i18n((key, value) => i18n.t(key, value))
|
|
|
|
|
|
|
|
export default i18n
|