feat: acs国际化

This commit is contained in:
2023-11-27 15:17:01 +08:00
parent ce4f06a789
commit c46e41f3e8
46 changed files with 959 additions and 332 deletions

View File

@@ -9,18 +9,18 @@
<search id="header-search" class="right-menu-item" />
<!-- <el-tooltip content="项目文档" effect="dark" placement="bottom">
<Doc class="right-menu-item hover-effect" />
</el-tooltip>-->
<Doc class="right-menu-item hover-effect" />
</el-tooltip>-->
<el-tooltip content="全屏缩放" effect="dark" placement="bottom">
<el-tooltip :content="$t('common.fz')" effect="dark" placement="bottom">
<screenfull id="screenfull" class="right-menu-item hover-effect" />
</el-tooltip>
<notice-icon class="right-menu-item" />
<notice-icon-reader ref="noticeIconReader" />
<!-- <el-tooltip content="布局设置" effect="dark" placement="bottom">
<size-select id="size-select" class="right-menu-item hover-effect" />
</el-tooltip>-->
<size-select id="size-select" class="right-menu-item hover-effect" />
</el-tooltip>-->
</template>
<img :src="Avatar" class="user-avatar">
@@ -31,21 +31,31 @@
<el-dropdown-menu slot="dropdown">
<span style="display:block;" @click="show = true">
<el-dropdown-item>
布局设置
{{ $t('common.Layout_setting') }}
</el-dropdown-item>
</span>
<router-link to="/user/center">
<el-dropdown-item>
个人中心
{{ $t('common.Personal_center') }}
</el-dropdown-item>
</router-link>
<span style="display:block;" @click="open">
<el-dropdown-item divided>
退出登录
{{ $t('common.Log_out') }}
</el-dropdown-item>
</span>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown class="right-menu-item" style="font-size: 14px" trigger="click" @command="langChange">
<span class="el-dropdown-link">
{{ language }} <i class="el-icon-caret-bottom" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item divided command="zh">简体中文</el-dropdown-item>
<el-dropdown-item divided command="en">English</el-dropdown-item>
<el-dropdown-item divided command="in">Indonesian</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</template>
@@ -79,10 +89,12 @@ export default {
data() {
return {
Avatar: Avatar,
dialogVisible: false
dialogVisible: false,
language: '简体中文'
}
},
created() {
this.setLang(localStorage.getItem('lang'))
this.initWebSocket()
},
computed: {
@@ -110,13 +122,29 @@ export default {
}
},
methods: {
// 中英文切换
langChange(command) {
this.$i18n.locale = command
localStorage.setItem('lang', command)
this.setLang(command)
location.reload()
},
setLang(command) {
if (command === 'en') {
this.language = 'English'
} else if (command === 'zh') {
this.language = '简体中文'
} else if (command === 'in') {
this.language = 'Indonesian'
}
},
toggleSideBar() {
this.$store.dispatch('app/toggleSideBar')
},
open() {
this.$confirm('确定注销并退出系统吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
this.$confirm(this.$t('common.Tip13'), this.$t('common.Tips'), {
confirmButtonText: this.$t('common.Confirm'),
cancelButtonText: this.$t('common.Cancel'),
type: 'warning'
}).then(() => {
this.logout()
@@ -128,6 +156,7 @@ export default {
})
},
initWebSocket() {
// const wsUri = (process.env.VUE_APP_WS_API === '/' ? '/' : (process.env.VUE_APP_WS_API + '/')) + 'messageInfo'
const wsUri = window.g.prod.VUE_APP_BASE_API.replace('http', 'ws') + '/webSocket/' + 'messageInfo'
this.websock = new WebSocket(wsUri)
this.websock.onerror = this.webSocketOnError
@@ -135,7 +164,7 @@ export default {
},
webSocketOnError(e) {
this.$notify({
title: 'WebSocket连接发生错误',
title: this.$t('common.Tip14'),
type: 'error',
duration: 0
})

View File

@@ -3,7 +3,7 @@
<div>
<div class="setting-drawer-content">
<div class="setting-drawer-title">
<h3 class="drawer-title">主题风格设置</h3>
<h3 class="drawer-title">{{ $t('common.Theme_style_setting') }}</h3>
</div>
<div class="setting-drawer-block-checbox">
<div class="setting-drawer-block-checbox-item" @click="handleTheme('theme-dark')">
@@ -51,44 +51,44 @@
</div>
<div class="drawer-item">
<span>主题颜色</span>
<span>{{ $t('common.Theme_color') }}</span>
<theme-picker style="float: right;height: 26px;margin: -3px 8px 0 0;" @change="themeChange" />
</div>
</div>
<el-divider />
<h3 class="drawer-title">系统布局配置</h3>
<h3 class="drawer-title">{{ $t('common.System_layout_configuration') }}</h3>
<div class="drawer-item">
<span>开启 TopNav</span>
<span>{{ $t('common.Open') }} TopNav</span>
<el-switch v-model="topNav" class="drawer-switch" />
</div>
<div class="drawer-item">
<span>开启 Tags-Views</span>
<span>{{ $t('common.Open') }} Tags-Views</span>
<el-switch v-model="tagsView" class="drawer-switch" />
</div>
<div class="drawer-item">
<span>固定 Header</span>
<span>{{ $t('common.Fixation') }} Header</span>
<el-switch v-model="fixedHeader" class="drawer-switch" />
</div>
<div class="drawer-item">
<span>显示 Logo</span>
<span>{{ $t('common.Display') }} Logo</span>
<el-switch v-model="sidebarLogo" class="drawer-switch" />
</div>
<div class="drawer-item">
<span>动态标题</span>
<span>{{ $t('common.Dynamic_titles') }}</span>
<el-switch v-model="dynamicTitle" class="drawer-switch" />
</div>
<el-divider />
<el-button size="mini" type="primary" plain icon="el-icon-document-add" @click="saveSetting">保存配置</el-button>
<el-button size="mini" plain icon="el-icon-refresh" @click="resetSetting">重置配置</el-button>
<el-button size="mini" type="primary" plain icon="el-icon-document-add" @click="saveSetting">{{ $t('common.Save_settings') }}</el-button>
<el-button size="mini" plain icon="el-icon-refresh" @click="resetSetting">{{ $t('common.Reset_settings') }}</el-button>
</div>
</div>
</template>

View File

@@ -3,14 +3,14 @@
<template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
<app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)">
<el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
<item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />
<item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="$t(onlyOneChild.meta.title)" />
</el-menu-item>
</app-link>
</template>
<el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body>
<template slot="title">
<item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" />
<item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="$t(item.meta.title)" />
</template>
<sidebar-item
v-for="child in item.children"

View File

@@ -12,17 +12,17 @@
@click.middle.native="closeSelectedTag(tag)"
@contextmenu.prevent.native="openMenu(tag,$event)"
>
{{ tag.title }}
{{ $t(tag.title) }}
<span v-if="!tag.meta.affix" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
</router-link>
</scroll-pane>
<ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
<li @click="refreshSelectedTag(selectedTag)">刷新</li>
<li v-if="!(selectedTag.meta&&selectedTag.meta.affix)" @click="closeSelectedTag(selectedTag)">关闭</li>
<li v-if="!isFirstView()" @click="closeLeftTags()">关闭左侧</li>
<li v-if="!isLastView()" @click="closeRightTags">关闭右侧</li>
<li @click="closeOthersTags">关闭其他</li>
<li @click="closeAllTags(selectedTag)">关闭全部</li>
<li @click="refreshSelectedTag(selectedTag)">{{ $t('common.Refresh') }}</li>
<li v-if="!(selectedTag.meta&&selectedTag.meta.affix)" @click="closeSelectedTag(selectedTag)">{{ $t('common.Closes') }}</li>
<li v-if="!isFirstView()" @click="closeLeftTags()">{{ $t('common.Closes_l') }}</li>
<li v-if="!isLastView()" @click="closeRightTags">{{ $t('common.Closes_r') }}</li>
<li @click="closeOthersTags">{{ $t('common.Closes_o') }}</li>
<li @click="closeAllTags(selectedTag)">{{ $t('common.Closes_a') }}</li>
</ul>
</div>
</template>