安虹睿
1 year ago
6 changed files with 63 additions and 4 deletions
@ -0,0 +1,5 @@ |
|||||
|
export default { |
||||
|
common: { |
||||
|
home:'home' |
||||
|
} |
||||
|
} |
@ -0,0 +1,49 @@ |
|||||
|
// lang/index.js
|
||||
|
import Vue from "vue" |
||||
|
import ElementUI from "element-ui" |
||||
|
import VueI18n from "vue-i18n" |
||||
|
// elment-ui
|
||||
|
import locale from "element-ui/lib/locale" |
||||
|
import zhLocale from "element-ui/lib/locale/lang/zh-CN" |
||||
|
import enLocale from "element-ui/lib/locale/lang/en" |
||||
|
// 自己的多语言文件
|
||||
|
import zh from "./zh" |
||||
|
import en from "./en" |
||||
|
|
||||
|
Vue.use(VueI18n) |
||||
|
|
||||
|
const messages = { |
||||
|
"zh-CN": { |
||||
|
...zh, |
||||
|
...zhLocale, |
||||
|
}, |
||||
|
"en": { |
||||
|
...en, |
||||
|
...enLocale, |
||||
|
} |
||||
|
} |
||||
|
console.log(localStorage.getItem("browserLanguage")) |
||||
|
const i18n = new VueI18n({ |
||||
|
messages, |
||||
|
fallbackLocale: "zh-CN", // 匹配不到时默认的语言
|
||||
|
silentTranslationWarn: true, // 控制台的warning
|
||||
|
locale: localStorage.getItem("browserLanguage") || "zh-CN", // set locale
|
||||
|
}) |
||||
|
|
||||
|
locale.use(ElementUI, { |
||||
|
i18n: (key, value) => i18n.t(key, value), |
||||
|
}) |
||||
|
|
||||
|
// ***
|
||||
|
// 非 vue 文件中使用这个方法
|
||||
|
const translate = (localeKey) => { |
||||
|
const locale = localStorage.getItem("language") || "zh-CN" |
||||
|
const hasKey = i18n.te(localeKey, locale) // 使用i18n的 te 方法来检查是否能够匹配到对应键值
|
||||
|
const translatedStr = i18n.t(localeKey) |
||||
|
if (hasKey) { |
||||
|
return translatedStr |
||||
|
} |
||||
|
return localeKey |
||||
|
} |
||||
|
|
||||
|
export { i18n, messages, translate } |
@ -0,0 +1,5 @@ |
|||||
|
export default { |
||||
|
common: { |
||||
|
home:'系统首页' |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue