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.

40 lines
1.1 KiB

import Vue from "vue"
2 years ago
import VueI18n from 'vue-i18n'
import ElementUI from "element-ui"
2 years ago
// 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)
2 years ago
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,
}
2 years ago
};
2 years ago
const i18n = new VueI18n({
2 years ago
legacy: false,
messages,
2 years ago
globalInjection: true, // 全局生效$t
fallbackLocale: "zh-CN", // 匹配不到时默认的语言
silentTranslationWarn: true, // 控制台的warning
2 years ago
locale: InitLanguage(),
})
2 years ago
locale.i18n((key, value) => i18n.t(key, value))
2 years ago
export default i18n