From ff466f5de676483a53e26a8b75b8e356224c2e2d Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Thu, 30 Mar 2023 23:32:14 +0800 Subject: [PATCH] feat: add setting locale supports in login page (#3642) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### What type of PR is this? /kind feature /area console /milestone 2.4.x #### What this PR does / why we need it: 在登录页面添加语言设置的支持。 image #### Special notes for your reviewer: 在登录页面测试语言切换是否生效即可。 #### Does this PR introduce a user-facing change? ```release-note None ``` --- console/src/locales/index.ts | 32 +++++++++++++---- console/src/main.ts | 4 +-- console/src/modules/system/users/Login.vue | 42 +++++++++++++++++++++- 3 files changed, 68 insertions(+), 10 deletions(-) diff --git a/console/src/locales/index.ts b/console/src/locales/index.ts index b03bd08e2..7a2220fca 100644 --- a/console/src/locales/index.ts +++ b/console/src/locales/index.ts @@ -5,12 +5,32 @@ import en from "./en.yaml"; // @ts-ignore import zhCN from "./zh-CN.yaml"; -const messages = { - en: en, - zh: zhCN, - "en-US": en, - "zh-CN": zhCN, -}; +export const locales = [ + { + code: "en", + package: en, + hidden: true, + }, + { + name: "English", + code: "en-US", + package: en, + }, + { + name: "简体中文", + code: "zh-CN", + package: zhCN, + }, + { + code: "zh", + package: zhCN, + }, +]; + +const messages = locales.reduce((acc, cur) => { + acc[cur.code] = cur.package; + return acc; +}, {}); const i18n = createI18n({ legacy: false, diff --git a/console/src/main.ts b/console/src/main.ts index 96de9db92..b3853bc82 100644 --- a/console/src/main.ts +++ b/console/src/main.ts @@ -245,10 +245,8 @@ async function initApp() { await userStore.fetchCurrentUser(); // set locale - // @ts-ignore i18n.global.locale.value = - userStore.currentUser?.metadata.annotations?.["locale"] || - getBrowserLanguage(); + localStorage.getItem("locale") || getBrowserLanguage(); if (userStore.isAnonymous) { return; diff --git a/console/src/modules/system/users/Login.vue b/console/src/modules/system/users/Login.vue index 049d53639..271df66c4 100644 --- a/console/src/modules/system/users/Login.vue +++ b/console/src/modules/system/users/Login.vue @@ -1,11 +1,14 @@