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 @@