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, yet if translateExistCompatible is set to true, it will return true if the key is available, even if the value 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.

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.