diff --git a/packages/vue-i18n-core/src/composer.ts b/packages/vue-i18n-core/src/composer.ts index 7c8a3e67c..df76394a0 100644 --- a/packages/vue-i18n-core/src/composer.ts +++ b/packages/vue-i18n-core/src/composer.ts @@ -118,6 +118,15 @@ import { isLegacyVueI18n } from './utils' export { DEFAULT_LOCALE } from '@intlify/core-base' +type FlattenKeys = T extends object + ? { + [K in keyof T & string]: K extends string + ? T[K] extends object + ? `${K}.${FlattenKeys}` + : K + : never; + }[keyof T & string] + : ""; // extend VNode interface export const DEVTOOLS_META = '__INTLIFY_META__' @@ -673,7 +682,7 @@ export interface ComposerTranslation< * * @VueI18nSee [Scope and Locale Changing](../guide/essentials/scope) */ - (key: Key | ResourceKeys | number): string + >(key: Key | ResourceKeys | number): string /** * Locale message translation for plurals *