Skip to content

Interface: Composer<Messages, DateTimeFormats, NumberFormats, OptionLocale, ResourceLocales, Locales> ​

Composer interfaces

Extends ​

Signature ​

ts
export interface Composer<
  Messages extends Record<string, any> = {},
  DateTimeFormats extends Record<string, any> = {},
  NumberFormats extends Record<string, any> = {},
  OptionLocale = _Locale,
  ResourceLocales =
    | PickupLocales<NonNullable<Messages>>
    | PickupLocales<NonNullable<DateTimeFormats>>
    | PickupLocales<NonNullable<NumberFormats>>,
  Locales = _Locale extends GeneratedLocale
    ? GeneratedLocale
    : OptionLocale extends _Locale
      ? IsNever<ResourceLocales> extends true
        ? _Locale
        : ResourceLocales
      : OptionLocale | ResourceLocales
> extends ComposerCustom

Type Parameters ​

Name
Messages extends Record<string, any> = {}
DateTimeFormats extends Record<string, any> = {}
NumberFormats extends Record<string, any> = {}
OptionLocale = _Locale
ResourceLocales = | PickupLocales<NonNullable<Messages>> | PickupLocales<NonNullable<DateTimeFormats>> | PickupLocales<NonNullable<NumberFormats>>
Locales = _Locale extends GeneratedLocale ? GeneratedLocale : OptionLocale extends _Locale ? IsNever<ResourceLocales> extends true ? _Locale : ResourceLocales : OptionLocale | ResourceLocales

Properties ​

NameTypeDescription
availableLocales (readonly)ComputedRef<Locales[]>
dComposerDateTimeFormatting<DateTimeFormats, Locales, RemoveIndexSignature<{ [K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K] }>>Datetime formatting
datetimeFormats (readonly)ComputedRef<{ [K in keyof DateTimeFormats]: DateTimeFormats[K] }>
escapeParameterboolean
fallbackFormatboolean
fallbackLocaleWritableComputedRef<FallbackLocales<Locales>>
fallbackRootboolean
fallbackWarnboolean | RegExp
idnumber
inheritLocaleboolean
isGlobal (readonly)boolean
localeWritableComputedRef<Locales>
messages (readonly)ComputedRef<{ [K in keyof Messages]: Messages[K] }>
missingWarnboolean | RegExp
modifiers (readonly)LinkedModifiers<VueMessageType>
nComposerNumberFormatting<NumberFormats, Locales, RemoveIndexSignature<{ [K in keyof DefineNumberFormat]: DefineNumberFormat[K] }>>Number Formatting
numberFormats (readonly)ComputedRef<{ [K in keyof NumberFormats]: NumberFormats[K] }>
pluralRules (readonly)PluralizationRules
rtComposerResolveLocaleMessageTranslation<Locales>Resolve locale message translation
tComposerTranslation<Messages, Locales, RemoveIndexSignature<{ [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K] }>>Locale message translation
warnHtmlMessageboolean

Methods ​

getDateTimeFormat() ​

ts
getDateTimeFormat<
    DateTimeSchema extends Record<string, any> = never,
    LocaleSchema extends string = string,
    Locale extends PickupLocales<NonNullable<DateTimeFormats>> = PickupLocales<
      NonNullable<DateTimeFormats>
    >,
    Return = IsNever<DateTimeSchema> extends true
      ? IsEmptyObject<DateTimeFormats> extends true
        ? RemoveIndexSignature<{
            [K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K]
          }>
        : NonNullable<DateTimeFormats>[Locale]
      : DateTimeSchema
  >(locale: LocaleSchema | Locale): Return;

Get datetime format

Type Parameters ​

NameDescription
DateTimeSchema extends Record<string, any> = neverThe datetime format schema, default never
LocaleSchema extends string = string-
Locale extends PickupLocales<NonNullable<DateTimeFormats>> = PickupLocales<NonNullable<DateTimeFormats>>-
Return = IsNever<DateTimeSchema> extends true ? IsEmptyObject<DateTimeFormats> extends true ? RemoveIndexSignature<{ [K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K] }> : NonNullable<DateTimeFormats>[Locale] : DateTimeSchema-

Parameters ​

NameTypeDescription
localeLocaleSchema | LocaleA target locale

Returns ​

Return — Datetime format

Tags ​

  • @remarks — get datetime format from Composer instance Composer#datetimeFormats.

getLocaleMessage() ​

ts
getLocaleMessage<
    MessageSchema extends LocaleMessage<VueMessageType> = never,
    LocaleSchema extends string = string,
    Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>,
    Return = IsNever<MessageSchema> extends true
      ? IsEmptyObject<Messages> extends true
        ? RemoveIndexSignature<{
            [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K]
          }>
        : NonNullable<Messages>[Locale]
      : MessageSchema
  >(locale: LocaleSchema | Locale): Return;

Get locale message

Type Parameters ​

NameDescription
MessageSchema extends LocaleMessage<VueMessageType> = neverThe locale message schema, default never
LocaleSchema extends string = string-
Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>-
Return = IsNever<MessageSchema> extends true ? IsEmptyObject<Messages> extends true ? RemoveIndexSignature<{ [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K] }> : NonNullable<Messages>[Locale] : MessageSchema-

Parameters ​

NameTypeDescription
localeLocaleSchema | LocaleA target locale

Returns ​

Return — Locale messages

Tags ​

  • @remarks — get locale message from Composer instance Composer#messages.

getMissingHandler() ​

ts
getMissingHandler(): MissingHandler | null;

Get missing handler

See about:

  • Composer#missing

Returns ​

MissingHandler | null


getNumberFormat() ​

ts
getNumberFormat<
    NumberSchema extends Record<string, any> = never,
    LocaleSchema extends string = string,
    Locale extends PickupLocales<NonNullable<NumberFormats>> = PickupLocales<
      NonNullable<NumberFormats>
    >,
    Return = IsNever<NumberSchema> extends true
      ? IsEmptyObject<NumberFormats> extends true
        ? RemoveIndexSignature<{
            [K in keyof DefineNumberFormat]: DefineNumberFormat[K]
          }>
        : NonNullable<NumberFormats>[Locale]
      : NumberSchema
  >(locale: LocaleSchema | Locale): Return;

Get number format

Type Parameters ​

NameDescription
NumberSchema extends Record<string, any> = neverThe number format schema, default never
LocaleSchema extends string = string-
Locale extends PickupLocales<NonNullable<NumberFormats>> = PickupLocales<NonNullable<NumberFormats>>-
Return = IsNever<NumberSchema> extends true ? IsEmptyObject<NumberFormats> extends true ? RemoveIndexSignature<{ [K in keyof DefineNumberFormat]: DefineNumberFormat[K] }> : NonNullable<NumberFormats>[Locale] : NumberSchema-

Parameters ​

NameTypeDescription
localeLocaleSchema | LocaleA target locale

Returns ​

Return — Number format

Tags ​

  • @remarks — get number format from Composer instance Composer#numberFormats.

getPostTranslationHandler() ​

ts
getPostTranslationHandler(): PostTranslationHandler<VueMessageType> | null;

Get post translation handler

See about:

  • Composer#missing

Returns ​

PostTranslationHandler<VueMessageType> | null


mergeDateTimeFormat() ​

ts
mergeDateTimeFormat<
    DateTimeSchema extends Record<string, any> = never,
    LocaleSchema extends string = string,
    Locale extends PickupLocales<NonNullable<DateTimeFormats>> = PickupLocales<
      NonNullable<DateTimeFormats>
    >,
    Formats = IsNever<DateTimeSchema> extends true ? Record<string, any> : DateTimeSchema
  >(locale: LocaleSchema | Locale, format: Formats): void;

Merge datetime format

Type Parameters ​

NameDescription
DateTimeSchema extends Record<string, any> = neverThe datetime format schema, default never
LocaleSchema extends string = string-
Locale extends PickupLocales<NonNullable<DateTimeFormats>> = PickupLocales<NonNullable<DateTimeFormats>>-
Formats = IsNever<DateTimeSchema> extends true ? Record<string, any> : DateTimeSchema-

Parameters ​

NameTypeDescription
localeLocaleSchema | LocaleA target locale
formatFormatsA target datetime format

Returns ​

void

Tags ​

  • @remarks — Merge datetime format to Composer instance Composer#datetimeFormats.

mergeLocaleMessage() ​

ts
mergeLocaleMessage<
    MessageSchema extends LocaleMessage<VueMessageType> = never,
    LocaleSchema extends string = string,
    Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>,
    Message = IsNever<MessageSchema> extends true ? Record<string, any> : MessageSchema
  >(locale: LocaleSchema | Locale, message: Message): void;

Merge locale message

Type Parameters ​

NameDescription
MessageSchema extends LocaleMessage<VueMessageType> = neverThe locale message schema, default never
LocaleSchema extends string = string-
Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>-
Message = IsNever<MessageSchema> extends true ? Record<string, any> : MessageSchema-

Parameters ​

NameTypeDescription
localeLocaleSchema | LocaleA target locale
messageMessageA message

Returns ​

void

Tags ​

  • @remarks — Merge locale message to Composer instance Composer#messages.

mergeNumberFormat() ​

ts
mergeNumberFormat<
    NumberSchema extends Record<string, any> = never,
    LocaleSchema extends string = string,
    Locale extends PickupLocales<NonNullable<NumberFormats>> = PickupLocales<
      NonNullable<NumberFormats>
    >,
    Formats = IsNever<NumberSchema> extends true ? Record<string, any> : NumberSchema
  >(locale: LocaleSchema | Locale, format: Formats): void;

Merge number format

Type Parameters ​

NameDescription
NumberSchema extends Record<string, any> = neverThe number format schema, default never
LocaleSchema extends string = string-
Locale extends PickupLocales<NonNullable<NumberFormats>> = PickupLocales<NonNullable<NumberFormats>>-
Formats = IsNever<NumberSchema> extends true ? Record<string, any> : NumberSchema-

Parameters ​

NameTypeDescription
localeLocaleSchema | LocaleA target locale
formatFormatsA target number format

Returns ​

void

Tags ​

  • @remarks — Merge number format to Composer instance Composer#numberFormats.

setDateTimeFormat() ​

ts
setDateTimeFormat<
    DateTimeSchema extends Record<string, any> = never,
    LocaleSchema extends string = string,
    Locale extends PickupLocales<NonNullable<DateTimeFormats>> = PickupLocales<
      NonNullable<DateTimeFormats>
    >,
    FormatsType = IsNever<DateTimeSchema> extends true
      ? IsEmptyObject<DateTimeFormats> extends true
        ? RemoveIndexSignature<{
            [K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K]
          }>
        : NonNullable<DateTimeFormats>[Locale]
      : DateTimeSchema,
    Formats extends FormatsType = FormatsType
  >(locale: LocaleSchema | Locale, format: Formats): void;

Set datetime format

Type Parameters ​

NameDescription
DateTimeSchema extends Record<string, any> = neverThe datetime format schema, default never
LocaleSchema extends string = string-
Locale extends PickupLocales<NonNullable<DateTimeFormats>> = PickupLocales<NonNullable<DateTimeFormats>>-
FormatsType = IsNever<DateTimeSchema> extends true ? IsEmptyObject<DateTimeFormats> extends true ? RemoveIndexSignature<{ [K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K] }> : NonNullable<DateTimeFormats>[Locale] : DateTimeSchema-
Formats extends FormatsType = FormatsType-

Parameters ​

NameTypeDescription
localeLocaleSchema | LocaleA target locale
formatFormatsA target datetime format

Returns ​

void

Tags ​

  • @remarks — Set datetime format to Composer instance Composer#datetimeFormats.

setLocaleMessage() ​

ts
setLocaleMessage<
    MessageSchema extends LocaleMessage<VueMessageType> = never,
    LocaleSchema extends string = string,
    Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>,
    MessageType = IsNever<MessageSchema> extends true
      ? IsEmptyObject<Messages> extends true
        ? RemoveIndexSignature<{
            [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K]
          }>
        : NonNullable<Messages>[Locale]
      : MessageSchema,
    Message extends MessageType = MessageType
  >(locale: LocaleSchema | Locale, message: Message): void;

Set locale message

Type Parameters ​

NameDescription
MessageSchema extends LocaleMessage<VueMessageType> = neverThe locale message schema, default never
LocaleSchema extends string = string-
Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>-
MessageType = IsNever<MessageSchema> extends true ? IsEmptyObject<Messages> extends true ? RemoveIndexSignature<{ [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K] }> : NonNullable<Messages>[Locale] : MessageSchema-
Message extends MessageType = MessageType-

Parameters ​

NameTypeDescription
localeLocaleSchema | LocaleA target locale
messageMessageA message

Returns ​

void

Tags ​

  • @remarks — Set locale message to Composer instance Composer#messages.

setMissingHandler() ​

ts
setMissingHandler(handler: MissingHandler | null): void;

Set missing handler

See about:

  • Composer#missing

Parameters ​

NameTypeDescription
handlerMissingHandler | nullA MissingHandler

Returns ​

void


setNumberFormat() ​

ts
setNumberFormat<
    NumberSchema extends Record<string, any> = never,
    LocaleSchema extends string = string,
    Locale extends PickupLocales<NonNullable<NumberFormats>> = PickupLocales<
      NonNullable<NumberFormats>
    >,
    FormatsType = IsNever<NumberSchema> extends true
      ? IsEmptyObject<NumberFormats> extends true
        ? RemoveIndexSignature<{
            [K in keyof DefineNumberFormat]: DefineNumberFormat[K]
          }>
        : NonNullable<NumberFormats>[Locale]
      : NumberSchema,
    Formats extends FormatsType = FormatsType
  >(locale: LocaleSchema | Locale, format: Formats): void;

Set number format

Type Parameters ​

NameDescription
NumberSchema extends Record<string, any> = neverThe number format schema, default never
LocaleSchema extends string = string-
Locale extends PickupLocales<NonNullable<NumberFormats>> = PickupLocales<NonNullable<NumberFormats>>-
FormatsType = IsNever<NumberSchema> extends true ? IsEmptyObject<NumberFormats> extends true ? RemoveIndexSignature<{ [K in keyof DefineNumberFormat]: DefineNumberFormat[K] }> : NonNullable<NumberFormats>[Locale] : NumberSchema-
Formats extends FormatsType = FormatsType-

Parameters ​

NameTypeDescription
localeLocaleSchema | LocaleA target locale
formatFormatsA target number format

Returns ​

void

Tags ​

  • @remarks — Set number format to Composer instance Composer#numberFormats.

setPostTranslationHandler() ​

ts
setPostTranslationHandler(handler: PostTranslationHandler<VueMessageType> | null): void;

Set post translation handler

See about:

  • Composer#missing

Parameters ​

NameTypeDescription
handlerPostTranslationHandler<VueMessageType> | nullA PostTranslationHandler

Returns ​

void


te() ​

ts
te<Str extends string, Key extends PickupKeys<Messages> = PickupKeys<Messages>>(key: Str | Key, locale?: Locales): boolean;

Translation locale message exist

Type Parameters ​

Name
Str extends string
Key extends PickupKeys<Messages> = PickupKeys<Messages>

Parameters ​

NameTypeDescription
keyStr | KeyA target locale message key
localeLocalesA locale, it will be used over than global scope or local scope (optional)

Returns ​

boolean — If found locale message, true, else false, Note that false is returned even if the value present in the key is not translatable.

Tags ​

  • @remarks — whether do exist locale message on Composer instance Composer#messages. If you specified locale, check the locale messages of locale, but not those of its fallback locales. If you did not specify locale, check the locale messages of the current locale and then those of its fallback locales, as t does (see fallbacking).

tm() ​

ts
tm<
    Key extends string,
    ResourceKeys extends PickupKeys<Messages> = PickupKeys<Messages>,
    Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>,
    Target = IsEmptyObject<Messages> extends false
      ? NonNullable<Messages>[Locale]
      : RemoveIndexSignature<{
          [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K]
        }>,
    Return = ResourceKeys extends ResourcePath<Target>
      ? ResourceValue<Target, ResourceKeys>
      : Record<string, any>
  >(key: Key | ResourceKeys): Return;

Locale messages getter

Type Parameters ​

Name
Key extends string
ResourceKeys extends PickupKeys<Messages> = PickupKeys<Messages>
Locale extends PickupLocales<NonNullable<Messages>> = PickupLocales<NonNullable<Messages>>
Target = IsEmptyObject<Messages> extends false ? NonNullable<Messages>[Locale] : RemoveIndexSignature<{ [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K] }>
Return = ResourceKeys extends ResourcePath<Target> ? ResourceValue<Target, ResourceKeys> : Record<string, any>

Parameters ​

NameTypeDescription
keyKey | ResourceKeysA target locale message key

Returns ​

Return — Locale messages

Tags ​

  • @remarks — If I18nScope 'local' or Some UseI18nOptions are specified at useI18n, it’s translated in preferentially local scope locale messages than global scope locale messages. Based on the current locale, locale messages will be returned from Composer instance messages. If you change the locale, the locale messages returned will also correspond to the locale. If there are no locale messages for the given key in the composer instance messages, they will be returned with fallbacking. > [!WARNING] > You need to use rt for the locale message returned by tm. See the rt details.

Tags ​

  • @VueI18nComposition
  • @remarks — This is the interface for being used for Vue 3 Composition API.

Released under the MIT License.