60 lines
1.6 KiB
JavaScript
60 lines
1.6 KiB
JavaScript
import store from '../store'
|
|
import i18n from '../lang/i18n'
|
|
import { isEmpty } from './datas'
|
|
import { getLang } from './auth'
|
|
|
|
export function generateTitle(title) {
|
|
const lang = getLang()
|
|
const messages = i18n.global.messages[lang]
|
|
// const messages = store.state.main.i18nMessages[lang];
|
|
if (messages && messages.route) {
|
|
if (messages.route.hasOwnProperty(title)) {
|
|
const translatedTitle = messages.route[title]
|
|
return translatedTitle
|
|
}
|
|
}
|
|
return null
|
|
}
|
|
|
|
export function generateLang(key) {
|
|
const lang = getLang()
|
|
const messages = i18n.global.messages[lang]
|
|
if (messages && messages.common) {
|
|
if (messages.common.hasOwnProperty(key)) {
|
|
return messages.common[key]
|
|
}
|
|
}
|
|
return null
|
|
}
|
|
|
|
// 异步加载多语言
|
|
// export function loadI18nMessageAsync(lang) {
|
|
// return new Promise((resolve) => {
|
|
// const messages = store.state.main.i18nMessages;
|
|
// if (lang === i18n.locale && !isEmpty(messages[lang])) {
|
|
// resolve()
|
|
// } else {
|
|
// if (lang === 'zh') {
|
|
// import('@/lang/zh/index.js').then(msgs => {
|
|
// i18n.global.setLocaleMessage(lang, msgs.default)
|
|
// // 缓存到store中
|
|
// store.dispatch('main/setI18nMessages', {
|
|
// [lang]: msgs.default
|
|
// })
|
|
// resolve();
|
|
// })
|
|
// } else if (lang === 'en') {
|
|
// import('@/lang/en/index.js').then(msgs => {
|
|
// i18n.global.setLocaleMessage(lang, msgs.default)
|
|
// // 缓存到store中
|
|
// store.dispatch('main/setI18nMessages', {
|
|
// [lang]: msgs.default
|
|
// })
|
|
// resolve();
|
|
// })
|
|
// }
|
|
// }
|
|
// })
|
|
|
|
// }
|