安虹睿
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