From 6a763bff12bcc9edfd878da50905247ec1ad4e07 Mon Sep 17 00:00:00 2001
From: chengxiangling <291105840@qq.com>
Date: 星期五, 16 五月 2025 17:00:26 +0800
Subject: [PATCH] 提交注释国际化切换
---
src/layout/components/Navbar.vue | 58 ++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 46 insertions(+), 12 deletions(-)
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 94099fc..44d13e3 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -20,8 +20,30 @@
<div class="right-menu">
<template v-if="appStore.device !== 'mobile'"> </template>
<div class="mt5">
- <el-button @click="changeLanguage('zh')">涓枃</el-button>
- <el-button @click="changeLanguage('en')">English</el-button>
+ <!-- <el-dropdown>
+ <img
+ class="zh_icon"
+ v-if="locale === 'zh'"
+ src="@/assets/images/zh.svg"
+ alt="zh"
+ />
+ <img
+ class="zh_icon"
+ v-if="locale === 'en'"
+ src="@/assets/images/en.svg"
+ alt="en"
+ />
+ <template #dropdown>
+ <el-dropdown-menu>
+ <el-dropdown-item @click="changeLanguage('zh', 'zh-CN')">{{
+ $t(`common.topNav.zh`)
+ }}</el-dropdown-item>
+ <el-dropdown-item @click="changeLanguage('en', 'en-US')">{{
+ $t(`common.topNav.en`)
+ }}</el-dropdown-item>
+ </el-dropdown-menu>
+ </template>
+ </el-dropdown> -->
</div>
<div class="avatar-container">
<el-dropdown
@@ -36,13 +58,15 @@
<template #dropdown>
<el-dropdown-menu>
<router-link to="/user/profile">
- <el-dropdown-item>{{ $t(`topNav.center`) }}</el-dropdown-item>
+ <el-dropdown-item>{{
+ $t(`common.topNav.center`)
+ }}</el-dropdown-item>
</router-link>
<!-- <el-dropdown-item command="setLayout" v-if="settingsStore.showSettings">
<span>甯冨眬璁剧疆</span>
</el-dropdown-item> -->
<el-dropdown-item divided command="logout">
- <span>{{ $t(`topNav.logout`) }}</span>
+ <span>{{ $t(`common.topNav.logout`) }}</span>
</el-dropdown-item>
</el-dropdown-menu>
</template>
@@ -53,7 +77,7 @@
</template>
<script setup>
-import { ElMessageBox } from "element-plus";
+// import { ElMessageBox } from "element-plus";
import Breadcrumb from "@/components/Breadcrumb";
import TopNav from "@/components/TopNav";
import Hamburger from "@/components/Hamburger";
@@ -65,16 +89,20 @@
import useAppStore from "@/store/modules/app";
import useUserStore from "@/store/modules/user";
import useSettingsStore from "@/store/modules/settings";
-import useLanguageStore from "@/store/modules/language"
-import { useI18n } from 'vue-i18n'//瑕佸湪js涓娇鐢ㄥ浗闄呭寲
+import useLanguageStore from "@/store/modules/language";
+import { VxeUI } from "vxe-table";
+import { useI18n } from "vue-i18n"; //瑕佸湪js涓娇鐢ㄥ浗闄呭寲
+const { t, locale } = useI18n();
const appStore = useAppStore();
const userStore = useUserStore();
const settingsStore = useSettingsStore();
const languageStore = useLanguageStore();
const { proxy } = getCurrentInstance();
-function changeLanguage(type) {
- proxy.$i18n.locale = type;
- languageStore.setLocale(type)
+function changeLanguage(type1, type2) {
+ proxy.$i18n.locale = type1;
+ languageStore.setLocale(type1);
+ VxeUI.setLanguage(type2);
+ // console.log(VxeUI.getLanguage(),'VxeUI.getLanguage()')
}
function toggleSideBar() {
@@ -158,8 +186,14 @@
height: 100%;
line-height: 50px;
display: flex;
- .mt5{
- margin-top:5px;
+ .mt5 {
+ margin-top: 5px;
+ .zh_icon {
+ width: 35px;
+ height: 35px;
+ border: none;
+ outline: none;
+ }
}
&:focus {
outline: none;
--
Gitblit v1.9.3