From e10bc5988cedfb994cd51fc130083cb605f3c7a3 Mon Sep 17 00:00:00 2001 From: SamYSF <98792230+SamYSF@users.noreply.github.com> Date: Wed, 22 May 2024 22:05:46 +0800 Subject: [PATCH] feat: add a language switch button on the web page (#447) --- console/atest-ui/src/App.vue | 37 +++++++++++++++++++++++++++- console/atest-ui/src/locales/en.json | 1 + console/atest-ui/src/locales/zh.json | 1 + console/atest-ui/src/views/cache.ts | 9 +++++++ 4 files changed, 47 insertions(+), 1 deletion(-) diff --git a/console/atest-ui/src/App.vue b/console/atest-ui/src/App.vue index 5f4a73f..bac998b 100644 --- a/console/atest-ui/src/App.vue +++ b/console/atest-ui/src/App.vue @@ -4,6 +4,7 @@ import { Menu as IconMenu, Location, Share, + ArrowDown } from '@element-plus/icons-vue' import { ref, watch } from 'vue' import { API } from './views/net' @@ -15,7 +16,7 @@ import SecretManager from './views/SecretManager.vue' import WelcomePage from './views/WelcomePage.vue' import { useI18n } from 'vue-i18n' -const { t } = useI18n() +const { t, locale: i18nLocale } = useI18n() import setAsDarkTheme from './theme' @@ -60,6 +61,26 @@ const handleSelect = (key: string) => { panelName.value = key window.localStorage.setItem('activeMenu', key) } + +const locale = ref(Cache.GetPreference().language) +i18nLocale.value = locale.value + +watch(locale, (value) =>{ + Cache.WatchLocale(value) + i18nLocale.value = locale.value +}) + +const handleChangeLan = (command: string) => { + switch (command) { + case "chinese": + locale.value = "zh-CN" + break; + case "english": + locale.value = "en-US" + break; + } +}; +