mirror of https://github.com/longtai-cn/hippo4j
parent
16542c8bc8
commit
dc1926a8d4
@ -0,0 +1,28 @@
|
||||
// 导入elementUi默认中英文语言包
|
||||
import elZh from 'element-ui/lib/locale/lang/zh-CN'
|
||||
import elEn from 'element-ui/lib/locale/lang/en'
|
||||
|
||||
import zh from './lang/zh'
|
||||
import en from './lang/en'
|
||||
|
||||
export const i18nConfig = {
|
||||
locale: 'en', // 默认语种
|
||||
messages: {
|
||||
zh: { ...zh, ...elZh }, // 中文包
|
||||
en: { ...en, ...elEn } // 英文包
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export const langSelectList = () => {
|
||||
return [
|
||||
{
|
||||
lang: 'zh',
|
||||
name: '中文'
|
||||
},
|
||||
{
|
||||
lang: 'en',
|
||||
name: 'English'
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
import Vue from 'vue'
|
||||
import VueI18n from 'vue-i18n'
|
||||
|
||||
import { i18nConfig } from './config'
|
||||
|
||||
Vue.use(VueI18n)
|
||||
|
||||
const i18n = new VueI18n(i18nConfig)
|
||||
|
||||
export default i18n
|
@ -0,0 +1,3 @@
|
||||
export default {
|
||||
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
export default {
|
||||
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
<template>
|
||||
<div class="lang-drop-wrap">
|
||||
<el-dropdown @command="selectedLang" trigger="click">
|
||||
<span class="el-dropdown-link">
|
||||
{{ currentLangName }}
|
||||
<i class="el-icon-arrow-down el-icon--right"></i>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item
|
||||
v-for="item in langSelectList"
|
||||
:key="item.lang"
|
||||
:command="item.lang"
|
||||
>
|
||||
<span class="dropdown-item-text" :data-active="item.lang === currentLang">{{ item.name }}</span>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { langSelectList } from './config'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
langSelectList: langSelectList(),
|
||||
currentLang: ''
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
currentLangName() {
|
||||
const langItem = this.langSelectList.find(item => item.lang === this.currentLang)
|
||||
return langItem?.name || '选择语言'
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 选择语言
|
||||
selectedLang(value) {
|
||||
this.currentLang = value
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.lang-drop-wrap{
|
||||
height: 100%;
|
||||
margin-right: 15px;
|
||||
.dropdown-item-text{
|
||||
&[data-active=true] {
|
||||
color: var(--jjext-color-dropdown-text) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
Loading…
Reference in new issue