diff --git a/src/SelfServe/SelfServe.tsx b/src/SelfServe/SelfServe.tsx index ee1949746..9b11d3a6a 100644 --- a/src/SelfServe/SelfServe.tsx +++ b/src/SelfServe/SelfServe.tsx @@ -11,13 +11,24 @@ import { updateUserContext } from "../UserContext"; import { isInvalidParentFrameOrigin } from "../Utils/MessageValidation"; import "./SelfServe.less"; import { SelfServeComponent } from "./SelfServeComponent"; -import { SelfServeDescriptor } from "./SelfServeTypes"; +import { SelfServeBaseClass, SelfServeDescriptor } from "./SelfServeTypes"; import { SelfServeType } from "./SelfServeUtils"; initializeIcons(); -const loadTranslationFile = async (className: string): Promise => { +const loadTranslationFile = async ( + className: string | SelfServeBaseClass, + selfServeType?: SelfServeType, +): Promise => { const language = i18n.languages[0]; - const fileName = `${className}.json`; + let namespace: string; // className is used as a key to retrieve the localized strings + let fileName: string; + if (className instanceof SelfServeBaseClass) { + fileName = `${selfServeType}.json`; + namespace = className.constructor.name; + } else { + fileName = `${className}.json`; + namespace = className; + } // eslint-disable-next-line @typescript-eslint/no-explicit-any let translations: any; @@ -28,12 +39,16 @@ const loadTranslationFile = async (className: string): Promise => { } catch (e) { translations = await import(/* webpackChunkName: "Localization-en-[request]" */ `../Localization/en/${fileName}`); } - i18n.addResourceBundle(language, className, translations.default, true); + + i18n.addResourceBundle(language, namespace, translations.default, true); }; -const loadTranslations = async (className: string): Promise => { +const loadTranslations = async ( + className: string | SelfServeBaseClass, + selfServeType: SelfServeType, +): Promise => { await loadTranslationFile("Common"); - await loadTranslationFile(className); + await loadTranslationFile(className, selfServeType); }; const getDescriptor = async (selfServeType: SelfServeType): Promise => { @@ -41,13 +56,13 @@ const getDescriptor = async (selfServeType: SelfServeType): Promise