diff --git a/src/lib/i18n/useKcMessage.tsx b/src/lib/i18n/useKcMessage.tsx index 8f11c44d..c87cf2ad 100644 --- a/src/lib/i18n/useKcMessage.tsx +++ b/src/lib/i18n/useKcMessage.tsx @@ -64,16 +64,17 @@ export function useKcMessage() { (key: string): string | undefined => { const match = key.match(/^\$\{([^{]+)\}$/); - if (match === null) { - return key; - } + const resolvedKey = match === null ? key : match[1]; - return ( + const out = id>( kcMessages[kcLanguageTag], - )[key] ?? - id>(kcMessages["en"])[key] - ); + )[resolvedKey] ?? + id>(kcMessages["en"])[ + resolvedKey + ]; + + return out !== undefined ? out : match === null ? key : undefined; }, [msgStr], );