From 56271dbb0dc0c878a5eeaf2312ab30c6bc09b8d2 Mon Sep 17 00:00:00 2001 From: cyril-ui-developer Date: Tue, 28 Jul 2026 10:50:51 -0400 Subject: [PATCH] OCPBUGS-74310: Fix Quick Starts i18n bundle lookup for zh-CN Use i18n.resolvedLanguage for Quick Starts resource-bundle lookup so locale variants like zh-CN resolve to the correct console-app translations. Manual backport of #16819 to release-4.19 (cherry-pick conflict in useLanguage.ts). Co-authored-by: Cursor --- .../quick-starts/utils/quick-start-context.tsx | 4 ++-- .../components/user-preferences/language/useLanguage.ts | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/frontend/packages/console-app/src/components/quick-starts/utils/quick-start-context.tsx b/frontend/packages/console-app/src/components/quick-starts/utils/quick-start-context.tsx index f996a5b0354..3e525b93382 100644 --- a/frontend/packages/console-app/src/components/quick-starts/utils/quick-start-context.tsx +++ b/frontend/packages/console-app/src/components/quick-starts/utils/quick-start-context.tsx @@ -162,8 +162,8 @@ export const useValuesForQuickStartContext = (): QuickStartContextValues => { [activeQuickStartID, setAllQuickStartStates, fireTelemetryEvent], ); - const language = getLastLanguage() || 'en'; - const resourceBundle = i18n.getResourceBundle(language, 'console-app'); + const language = i18n.resolvedLanguage || 'en'; + const resourceBundle = i18n.getResourceBundle(language, 'console-app') ?? {}; const processedResourceBundle = getProcessedResourceBundle(resourceBundle, language); // https://github.com/i18next/i18next-parser#caveats diff --git a/frontend/packages/console-app/src/components/user-preferences/language/useLanguage.ts b/frontend/packages/console-app/src/components/user-preferences/language/useLanguage.ts index fe6a7b854db..539148936f3 100644 --- a/frontend/packages/console-app/src/components/user-preferences/language/useLanguage.ts +++ b/frontend/packages/console-app/src/components/user-preferences/language/useLanguage.ts @@ -10,12 +10,13 @@ export const useLanguage = (preferredLanguage: string, preferredLanguageLoaded: const { setResourceBundle } = useQuickStartContext(); React.useEffect(() => { - const onLanguageChange = (lng: string) => { + const onLanguageChange = () => { if (setResourceBundle) { // Update language resource of quick starts components - const resourceBundle = i18n.getResourceBundle(lng, 'console-app'); - const processedBundle = getProcessedResourceBundle(resourceBundle, lng); - setResourceBundle(processedBundle, lng); + const language = i18n.resolvedLanguage || 'en'; + const resourceBundle = i18n.getResourceBundle(language, 'console-app') ?? {}; + const processedBundle = getProcessedResourceBundle(resourceBundle, language); + setResourceBundle(processedBundle, language); } }; const preferredLanguageInStorage: string = getLastLanguage();