import languageHeper from "@/utils/languageHelper";
|
|
var languageMixin = {
|
data() {
|
return {
|
m_currentLanguage: 0
|
}
|
},
|
beforeMount() {
|
//初始化语言
|
this.initialLanguage();
|
},
|
methods: {
|
//初始化语言
|
initialLanguage() {
|
var currentLanguage = this.getLanguageTypeFromRout();
|
this.m_currentLanguage = currentLanguage;
|
if (currentLanguage == 0) {
|
this.$i18n.locale = "cn";
|
}
|
else if (currentLanguage == 2) {
|
this.$i18n.locale = "en";
|
}
|
else if (currentLanguage == 6) {
|
this.$i18n.locale = "es";
|
}
|
else if (currentLanguage == 8) {
|
this.$i18n.locale = "ko";
|
}
|
else {
|
this.$i18n.locale = "cn";
|
}
|
},
|
//从路由中获取语言类型
|
getLanguageTypeFromRout() {
|
return languageHeper.getTypeFromRout(window.location.href);
|
},
|
gotoPage(url, query, replace) {
|
if (replace == null)
|
replace = false;
|
var url_lang = this.buildCurrentLanguageUrl(url);
|
this.$router.push({
|
path: url_lang,
|
query: query,
|
});
|
},
|
buildCurrentLanguageUrl(url) {
|
if (url.startsWith("/")) {
|
return `/${this.getCurrentLanguageUrl()}` + url;
|
}
|
else {
|
return `/${this.getCurrentLanguageUrl()}/` + url;
|
}
|
},
|
gotoIndexPage() {
|
this.$router.push({
|
path: `/${this.getCurrentLanguageUrl()}/Index`,
|
});
|
},
|
//获取语言名称(大写)
|
getLanguageParaName() {
|
return languageHeper.getParaNameByType(this.m_currentLanguage);
|
},
|
//获取语言类型
|
getCurrentLanguageType() {
|
return this.m_currentLanguage;
|
},
|
//获取语言路由字符
|
getCurrentLanguageUrl() {
|
return languageHeper.getRouterUrlByType(this.m_currentLanguage);
|
},
|
|
// 获取应用名称
|
getSoftName() {
|
if (this.m_currentLanguage == 0)
|
return window.globalConfig.SoftName.CN;
|
if (this.m_currentLanguage == 2)
|
return window.globalConfig.SoftName.EN;
|
if (this.m_currentLanguage == 15)
|
return window.globalConfig.SoftName.EN;
|
if (this.m_currentLanguage == 5)
|
return window.globalConfig.SoftName.EN;
|
if (this.m_currentLanguage == 6)
|
return window.globalConfig.SoftName.KO;
|
else
|
return window.globalConfig.SoftName.CN;
|
}
|
}
|
}
|
|
export default languageMixin
|