feat: add page layout i18n language config.

增加页面布局的国际化语言配置
This commit is contained in:
iczer
2020-06-23 22:05:29 +08:00
parent 2382dd8abc
commit 2e90b7c614
9 changed files with 71 additions and 30 deletions

View File

@@ -6,12 +6,13 @@
<h1>{{systemName}}</h1>
</router-link>
</div>
<i-menu :i18n="menuI18n" :theme="theme" :collapsed="collapsed" :options="menuData" @select="onSelect" class="menu"/>
<i-menu @i18nComplete="setRoutesI18n" :i18n="menuI18n" :theme="theme" :collapsed="collapsed" :options="menuData" @select="onSelect" class="menu"/>
</a-layout-sider>
</template>
<script>
import IMenu from './menu'
import {mapState, mapMutations} from 'vuex'
export default {
name: 'SiderMenu',
components: {IMenu},
@@ -38,17 +39,13 @@ export default {
}
},
computed: {
isMobile () {
return this.$store.state.setting.isMobile
},
systemName () {
return this.$store.state.setting.systemName
}
...mapState('setting', ['isMobile', 'systemName'])
},
methods: {
onSelect (obj) {
this.$emit('menuSelect', obj)
}
},
...mapMutations('setting', ['setRoutesI18n'])
}
}
</script>

View File

@@ -87,6 +87,7 @@ export default {
this.$i18n.mergeLocaleMessage(key, this.i18n[key])
})
}
this.$emit('i18nComplete', this.$i18n._getMessages())
},
created () {
this.updateMenu()

View File

@@ -4,8 +4,8 @@
<div class="breadcrumb">
<a-breadcrumb>
<a-breadcrumb-item :key="item.path" v-for="(item, index) in breadcrumb">
<span v-if="index === 0"><a href="#/dashboard/workplace">{{item.name}}</a></span>
<span v-else>{{item.name}}</span>
<span v-if="index === 0"><a href="#/dashboard/workplace">{{$t('home.name')}}</a></span>
<span v-else>{{$t(item.path.substring(1).replace(new RegExp('/', 'g'), '.') + '.name')}}</span>
</a-breadcrumb-item>
</a-breadcrumb>
</div>
@@ -46,7 +46,14 @@ export default {
avatar: {
type: String,
required: false
}
},
i18n: Object
},
created() {
let i18n = this.i18n
Object.keys(i18n).forEach(key => {
this.$i18n.mergeLocaleMessage(key, i18n[key])
})
},
computed: {
layout () {