Skip to content

API de Composition

Composer

Interfaces du composant

Signature:

typescript
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

Détails

Ceci est l'interface utilisée pour l'API de Composition de Vue 3.

availableLocales

Signature:

typescript
readonly availableLocales: ComputedRef<Locales[]>;

Détails

La liste des langues disponibles dans messages dans l'ordre alphabétique.

d

Mise en forme de la date et heure

Signature:

typescript
d: ComposerDateTimeFormatting<DateTimeFormats, Locales, RemoveIndexSignature<{
        [K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K];
    }>>;

Détails

Pour plus de détails sur les fonctions, voir ComposerDateTimeFormatting

datetimeFormats

Signature:

typescript
readonly datetimeFormats: ComputedRef<{
        [K in keyof DateTimeFormats]: DateTimeFormats[K];
    }>;

Détails

Les formats de date et heure pour la localisation.

Voir :

escapeParameter

Signature:

typescript
escapeParameter: boolean;

Détails

Si les paramètres d'interpolation sont échappés avant que le message ne soit traduit.

Voir :

fallbackFormat

Signature:

typescript
fallbackFormat: boolean;

Détails

Si les avertissements sont supprimés lors de la bascule vers fallbackLocale ou la racine.

Voir :

fallbackLocale

Signature:

typescript
fallbackLocale: WritableComputedRef<FallbackLocales<Locales>>;

Détails

Les langues de repli actuellement utilisées par cette instance Composer.

Voir :

fallbackRoot

Signature:

typescript
fallbackRoot: boolean;

Détails

Si basculer vers la localisation au niveau racine (portée globale) lorsque la localisation échoue.

Voir :

fallbackWarn

Signature:

typescript
fallbackWarn: boolean | RegExp;

Détails

Si les avertissements de repli sont supprimés lorsque la localisation échoue.

Voir :

id

Signature:

typescript
id: number;

Détails

Identifiant d'instance.

inheritLocale

Signature:

typescript
inheritLocale: boolean;

Détails

Si hériter le niveau de langue racine vers la langue de localisation du composant.

Voir :

isGlobal

Signature:

typescript
readonly isGlobal: boolean;

Détails

Si cette instance Composer est globale ou non

locale

Signature:

typescript
locale: WritableComputedRef<Locales>;

Détails

La langue actuellement utilisée par cette instance Composer.

Si la langue contient un territoire et un dialecte, cette langue contient un repli implicite.

Voir :

messages

Signature:

typescript
readonly messages: ComputedRef<{
        [K in keyof Messages]: Messages[K];
    }>;

Détails

Les messages de localisation.

Voir :

missingWarn

Signature:

typescript
missingWarn: boolean | RegExp;

Détails

Si les avertissements sont supprimés lorsque la localisation échoue.

Voir :

modifiers

Signature:

typescript
readonly modifiers: LinkedModifiers<VueMessageType>;

Détails

Modificateurs personnalisés pour les messages liés.

Voir :

n

Mise en forme numérique

Signature:

typescript
n: ComposerNumberFormatting<NumberFormats, Locales, RemoveIndexSignature<{
        [K in keyof DefineNumberFormat]: DefineNumberFormat[K];
    }>>;

Détails

Pour plus de détails sur les fonctions, voir ComposerNumberFormatting

numberFormats

Signature:

typescript
readonly numberFormats: ComputedRef<{
        [K in keyof NumberFormats]: NumberFormats[K];
    }>;

Détails

Les formats numériques pour la localisation.

Voir :

pluralRules

Signature:

typescript
readonly pluralRules: PluralizationRules;

Détails

Un ensemble de règles pour la pluralisation des mots

Voir :

rt

Résolution de la traduction des messages locaux

Signature:

typescript
rt: ComposerResolveLocaleMessageTranslation<Locales>;

Détails

Pour plus de détails sur les fonctions, voir ComposerResolveLocaleMessageTranslation

t

Traduction des messages locaux

Signature:

typescript
t: ComposerTranslation<Messages, Locales, RemoveIndexSignature<{
        [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K];
    }>>;

Détails

Pour plus de détails sur les fonctions, voir ComposerTranslation

warnHtmlMessage

Signature:

typescript
warnHtmlMessage: boolean;

Détails

Si autoriser l'utilisation des messages locaux avec mise en forme HTML.

Si vous définissez false, le système vérifie les messages locaux dans l'instance Composer.

Si vous définissez true, un avertissement sera affiché dans la console.

Voir :

getDateTimeFormat(locale)

Obtenir le format de date et heure

Signature:

typescript
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;

Paramètres de type

ParamètreDescription
DateTimeSchemaLe schéma de format de date et heure, valeur par défaut never

Détails

Obtenir le format de date et heure depuis l'instance Composer.

Paramètres

ParamètreTypeDescription
localeLocaleSchema | LocaleUne langue cible

Retour

Format de date et heure

getLocaleMessage(locale)

Obtenir le message local

Signature:

typescript
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;

Paramètres de type

ParamètreDescription
MessageSchemaLe schéma de message local, valeur par défaut never

Détails

Obtenir le message local depuis l'instance Composer.

Paramètres

ParamètreTypeDescription
localeLocaleSchema | LocaleUne langue cible

Retour

Messages locaux

getMissingHandler()

Obtenir le gestionnaire de traductions manquantes

Signature:

typescript
getMissingHandler(): MissingHandler | null;

Paramètres

ParamètreTypeDescription

Retour

MissingHandler

getNumberFormat(locale)

Obtenir le format numérique

Signature:

typescript
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;

Paramètres de type

ParamètreDescription
NumberSchemaLe schéma de format numérique, valeur par défaut never

Détails

Obtenir le format numérique depuis l'instance Composer.

Paramètres

ParamètreTypeDescription
localeLocaleSchema | LocaleUne langue cible

Retour

Format numérique

getPostTranslationHandler()

Obtenir le gestionnaire de post-traduction

Signature:

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

Paramètres

ParamètreTypeDescription

Retour

mergeDateTimeFormat(locale, format)

Fusionner le format de date et heure

Signature:

typescript
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;

Paramètres de type

ParamètreDescription
DateTimeSchemaLe schéma de format de date et heure, valeur par défaut never

Détails

Fusionner le format de date et heure vers l'instance Composer.

Paramètres

ParamètreTypeDescription
localeLocaleSchema | LocaleUne langue cible
formatFormatsUn format de date et heure cible

mergeLocaleMessage(locale, message)

Fusionner le message local

Signature:

typescript
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;

Paramètres de type

ParamètreDescription
MessageSchemaLe schéma de message local, valeur par défaut never

Détails

Fusionner le message local vers l'instance Composer.

Paramètres

ParamètreTypeDescription
localeLocaleSchema | LocaleUne langue cible
messageMessageUn message

mergeNumberFormat(locale, format)

Fusionner le format numérique

Signature:

typescript
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;

Paramètres de type

ParamètreDescription
NumberSchemaLe schéma de format numérique, valeur par défaut never

Détails

Fusionner le format numérique vers l'instance Composer.

Paramètres

ParamètreTypeDescription
localeLocaleSchema | LocaleUne langue cible
formatFormatsUn format numérique cible

setDateTimeFormat(locale, format)

Définir le format de date et heure

Signature:

typescript
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;

Paramètres de type

ParamètreDescription
DateTimeSchemaLe schéma de format de date et heure, valeur par défaut never

Détails

Définir le format de date et heure vers l'instance Composer.

Paramètres

ParamètreTypeDescription
localeLocaleSchema | LocaleUne langue cible
formatFormatsUn format de date et heure cible

setLocaleMessage(locale, message)

Définir le message local

Signature:

typescript
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;

Paramètres de type

ParamètreDescription
MessageSchemaLe schéma de message local, valeur par défaut never

Détails

Définir le message local vers l'instance Composer.

Paramètres

ParamètreTypeDescription
localeLocaleSchema | LocaleUne langue cible
messageMessageUn message

setMissingHandler(handler)

Définir le gestionnaire de traductions manquantes

Signature:

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

Paramètres

ParamètreTypeDescription
handlerMissingHandler | nullUn MissingHandler

setNumberFormat(locale, format)

Définir le format numérique

Signature:

typescript
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;

Paramètres de type

ParamètreDescription
NumberSchemaLe schéma de format numérique, valeur par défaut never

Détails

Définir le format numérique vers l'instance Composer.

Paramètres

ParamètreTypeDescription
localeLocaleSchema | LocaleUne langue cible
formatFormatsUn format numérique cible

setPostTranslationHandler(handler)

Définir le gestionnaire de post-traduction

Signature:

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

Paramètres

ParamètreTypeDescription
handlerPostTranslationHandler<VueMessageType> | nullUn

te(key, locale)

Vérifier si un message local existe

Signature:

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

Détails

Si le message local existe dans l'instance Composer.

Si vous spécifiez locale, vérifie les messages locaux de locale.

Paramètres

ParamètreTypeDescription
keyStr | KeyUne clé de message local cible
localeLocalesUne langue, qui sera utilisée au lieu de la portée globale ou locale

Retour

Si le message local est trouvé, true, sinon false. Veuillez noter que false est retourné même si la valeur présente dans la clé n'est pas traduisible, mais si translateExistCompatible est défini à true, il retournera true si la clé est disponible, même si la valeur n'est pas traduisible.

tm(key)

Lecteur de messages locaux

Signature:

typescript
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;

Détails

Si I18nScope 'local' ou certaines UseI18nOptions sont spécifiées dans useI18n, la traduction se fait dans la portée locale plutôt que dans la portée globale.

Sur la base de la locale actuelle, les messages locaux seront retournés depuis les messages de l'instance Composer.

Si vous changez la locale, les messages locaux retournés correspondront également à la langue.

Si aucun message local n'existe pour la clé donnée dans les messages de l'instance Composer, ils seront retournés avec repli.

[!WARNING] Vous devez utiliser rt pour le message local retourné par tm. Voir les détails de rt.

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeysUne clé de message local cible

Retour

Messages locaux

Exemples

Bloc template :

html
<div class="container">
  <template v-for="content in tm('contents')">
    <h2>{{ rt(content.title) }}</h2>
    <p v-for="paragraph in content.paragraphs">
     {{ rt(paragraph) }}
    </p>
  </template>
</div>

Bloc script :

js
import { defineComponent } from 'vue
import { useI18n } from 'vue-i18n'

export default defineComponent({
  setup() {
    const { rt, tm } = useI18n({
      messages: {
        en: {
          contents: [
            {
              title: 'Title1',
              // ...
              paragraphs: [
                // ...
              ]
            }
          ]
        }
      }
      // ...
    })
    // ...
    return { ... , rt, tm }
  }
})

ComposerAdditionalOptions

Options supplémentaires du composant pour useI18n

Signature:

typescript
export interface ComposerAdditionalOptions

Détails

ComposerAdditionalOptions étend ComposerOptions, donc vous pouvez spécifier ces options.

useScope

ComposerCustom

Définition personnalisée du type de Composer

Signature:

typescript
export interface ComposerCustom

Détails

L'interface qui peut étendre Composer.

Le type défini par un tiers (ex : nuxt/i18n)

Exemples

ts
// vue-i18n.d.ts (fichier `.d.ts` dans votre application)

declare module 'vue-i18n' {
  interface ComposerCustom {
    localeCodes: string[]
  }
}

ComposerDateTimeFormatting

Fonctions de mise en forme de date et heure

Signature:

typescript
export interface ComposerDateTimeFormatting<DateTimeFormats extends Record<string, any> = {}, Locales = 'en-US', DefinedDateTimeFormat extends RemovedIndexResources<DefineDateTimeFormat> = RemovedIndexResources<DefineDateTimeFormat>, C = IsEmptyObject<DefinedDateTimeFormat> extends false ? PickupFormatPathKeys<{
    [K in keyof DefinedDateTimeFormat]: DefinedDateTimeFormat[K];
}> : never, M = IsEmptyObject<DateTimeFormats> extends false ? PickupFormatKeys<DateTimeFormats> : never, ResourceKeys extends C | M = IsNever<C> extends false ? IsNever<M> extends false ? C | M : C : IsNever<M> extends false ? M : never>

Détails

Ceci est l'interface pour Composer

(value: number | Date | string): string;

Mise en forme de la date et heure

Signature:

typescript
(value: number | Date | string): string;

Détails

Si cette fonction est utilisée dans un contexte réactif, elle se réévaluera une fois que la langue change.

Si 'local' ou certaines UseI18nOptions sont spécifiées dans useI18n, la mise en forme se fait dans les formats de date et heure de portée locale plutôt que dans les formats globaux.

Sinon, elle est mise en forme avec les formats globaux.

Voir :

Paramètres

ParamètreTypeDescription
valuenumber | Date | stringUne valeur, un horodatage, une instance Date ou une chaîne ISO 8601

Retour

Valeur mise en forme

(value: Value, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string;

Mise en forme de la date et heure

Signature:

typescript
<Value extends number | Date | string = number, Key extends string = string, OptionsType extends Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Locales> = Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Locales>>(value: Value, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string;

Détails

Surcharge de d.

Dans cette surcharge de d, mettre en forme selon le format de date et heure pour une clé enregistrée dans les formats de date et heure.

Paramètres

ParamètreTypeDescription
valueValueUne valeur, un horodatage, une instance Date ou une chaîne ISO 8601
keyOrOptionsOptionsTypeUne clé des formats de date et heure, ou des options supplémentaires pour la mise en forme

Retour

Valeur mise en forme

(value: Value, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string;

Mise en forme de la date et heure

Signature:

typescript
<Value extends number | Date | string = number, Key extends string = string, OptionsType extends Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Locales> = Key | ResourceKeys | DateTimeOptions<Key | ResourceKeys, Locales>>(value: Value, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string;

Détails

Surcharge de d.

Dans cette surcharge de d, mettre en forme selon le format de date et heure pour une clé enregistrée dans les formats de date et heure pour une langue cible.

Paramètres

ParamètreTypeDescription
valueValueUne valeur, un horodatage, une instance Date ou une chaîne ISO 8601
keyOrOptionsOptionsTypeUne clé des formats de date et heure, ou des options supplémentaires pour la mise en forme
localeLocalesUne langue, qui sera utilisée au lieu de la portée globale ou locale.

Retour

Valeur mise en forme

ComposerNumberFormatting

Fonctions de mise en forme numérique

Signature:

typescript
export interface ComposerNumberFormatting<NumberFormats extends Record<string, any> = {}, Locales = 'en-US', DefinedNumberFormat extends RemovedIndexResources<DefineNumberFormat> = RemovedIndexResources<DefineNumberFormat>, C = IsEmptyObject<DefinedNumberFormat> extends false ? PickupFormatPathKeys<{
    [K in keyof DefinedNumberFormat]: DefinedNumberFormat[K];
}> : never, M = IsEmptyObject<NumberFormats> extends false ? PickupFormatKeys<NumberFormats> : never, ResourceKeys extends C | M = IsNever<C> extends false ? IsNever<M> extends false ? C | M : C : IsNever<M> extends false ? M : never>

Détails

Ceci est l'interface pour Composer

(value: number): string;

Mise en forme numérique

Signature:

typescript
(value: number): string;

Détails

Si cette fonction est utilisée dans un contexte réactif, elle se réévaluera une fois que la langue change.

Si 'local' ou certaines UseI18nOptions sont spécifiées dans useI18n, la mise en forme se fait dans les formats numériques de portée locale plutôt que dans les formats globaux.

Sinon, elle est mise en forme avec les formats globaux.

Voir :

Paramètres

ParamètreTypeDescription
valuenumberUne valeur numérique

Retour

Valeur mise en forme

(value: number, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string;

Mise en forme numérique

Signature:

typescript
<Key extends string = string, OptionsType extends Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Locales> = Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Locales>>(value: number, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string;

Détails

Surcharge de n.

Dans cette surcharge de n, mettre en forme selon le format numérique pour une clé enregistrée dans les formats numériques.

Paramètres

ParamètreTypeDescription
valuenumberUne valeur numérique
keyOrOptionsOptionsTypeUne clé des formats numériques, ou des options supplémentaires pour la mise en forme

Retour

Valeur mise en forme

(value: number, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string;

Mise en forme numérique

Signature:

typescript
<Key extends string = string, OptionsType extends Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Locales> = Key | ResourceKeys | NumberOptions<Key | ResourceKeys, Locales>>(value: number, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string;

Détails

Surcharge de n.

Dans cette surcharge de n, mettre en forme selon le format numérique pour une clé enregistrée dans les formats numériques pour une langue cible.

Paramètres

ParamètreTypeDescription
valuenumberUne valeur numérique
keyOrOptionsOptionsTypeUne clé des formats numériques, ou des options supplémentaires pour la mise en forme
localeLocalesUne langue, qui sera utilisée au lieu de la portée globale ou locale.

Retour

Valeur mise en forme

ComposerOptions

Options du composant

Signature:

typescript
export interface ComposerOptions<Schema extends {
    message?: unknown;
    datetime?: unknown;
    number?: unknown;
} = {
    message: DefaultLocaleMessageSchema;
    datetime: DefaultDateTimeFormatSchema;
    number: DefaultNumberFormatSchema;
}, Locales extends {
    messages: unknown;
    datetimeFormats: unknown;
    numberFormats: unknown;
} | string = Locale, MessagesLocales = Locales extends {
    messages: infer M;
} ? M : Locales extends string ? Locales : Locale, DateTimeFormatsLocales = Locales extends {
    datetimeFormats: infer D;
} ? D : Locales extends string ? Locales : Locale, NumberFormatsLocales = Locales extends {
    numberFormats: infer N;
} ? N : Locales extends string ? Locales : Locale, MessageSchema = Schema extends {
    message: infer M;
} ? M : DefaultLocaleMessageSchema, DateTimeSchema = Schema extends {
    datetime: infer D;
} ? D : DefaultDateTimeFormatSchema, NumberSchema = Schema extends {
    number: infer N;
} ? N : DefaultNumberFormatSchema, _Messages extends LocaleMessages<MessageSchema, MessagesLocales, VueMessageType> = LocaleMessages<MessageSchema, MessagesLocales, VueMessageType>, _DateTimeFormats extends DateTimeFormatsType<DateTimeSchema, DateTimeFormatsLocales> = DateTimeFormatsType<DateTimeSchema, DateTimeFormatsLocales>, _NumberFormats extends NumberFormatsType<NumberSchema, NumberFormatsLocales> = NumberFormatsType<NumberSchema, NumberFormatsLocales>>

Détails

Ce sont les options pour créer un composant.

datetime

datetimeFormats

escapeParameter

Signature:

typescript
escapeParameter?: boolean;

Détails

Si escapeParameter est configuré comme true, alors les paramètres d'interpolation sont échappés avant que le message ne soit traduit.

Cela est utile lorsque la sortie de la traduction est utilisée dans v-html et que la ressource de traduction contient une balise HTML (ex : autour d'une valeur fournie par l'utilisateur).

Ce modèle d'utilisation se produit principalement lors du passage de chaînes de texte précalculées aux composants de l'interface utilisateur.

Le processus d'échappement consiste à remplacer les symboles suivants par leurs entités HTML respectives : <, >, ", '.

Définir escapeParameter à true ne devrait pas casser la fonctionnalité existante mais fournit une protection contre certains vecteurs d'attaque XSS.

Voir :

false

fallbackFormat

Signature:

typescript
fallbackFormat?: boolean;

Détails

Si faire l'interpolation de modèle sur les clés de traduction quand la langue ne dispose pas d'une traduction pour une clé.

Si true, sauter l'écriture de modèles pour la langue "de base"; les clés sont vos modèles.

Voir :

false

fallbackLocale

Signature:

typescript
fallbackLocale?: FallbackLocale;

Détails

La langue de localisation de repli.

Pour plus de définitions complexes de repli, voir repli.

Voir :

La valeur par défaut est 'en-US' pour la locale si elle n'est pas spécifiée ou sa valeur locale

fallbackRoot

Signature:

typescript
fallbackRoot?: boolean;

Détails

Dans la localisation du composant, si on doit replier vers la localisation au niveau racine (portée globale) lorsque la localisation échoue.

Si false, ne pas replier vers la racine.

Voir :

true

fallbackWarn

Signature:

typescript
fallbackWarn?: boolean | RegExp;

Détails

Si supprimer les avertissements lors du repli vers fallbackLocale ou la racine.

Si false, supprimer les avertissements de repli.

Si vous utilisez une expression régulière, vous pouvez supprimer les avertissements de repli qui correspondent à la clé de traduction (ex : t).

Voir :

true

flatJson

Signature:

typescript
flatJson?: boolean;

Détails

Autoriser ou non l'utilisation de messages JSON plats

false

inheritLocale

Signature:

typescript
inheritLocale?: boolean;

Détails

Si hériter la langue racine vers la langue de localisation du composant.

Si false, indépendamment de la langue racine, localiser pour chaque langue de composant.

Voir :

true

locale

Signature:

typescript
locale?: Locale;

Détails

La langue de localisation.

Si la langue contient un territoire et un dialecte, cette langue contient un repli implicite.

Voir :

'en-US'

message

messageCompiler

Signature:

typescript
messageCompiler?: MessageCompiler;

Détails

Un compilateur pour un format de message personnalisé.

S'il n'est pas spécifié, le compilateur de message par défaut de vue-i18n sera utilisé.

Vous devrez implémenter votre propre compilateur de message qui retourne les fonctions de message.

Exemples

Voici un exemple de comment personnaliser le compilateur de message avec intl-messageformat :

js
import { createI18n } from 'vue-i18n'
import IntlMessageFormat from 'intl-messageformat'

function messageCompiler(message, { locale, key, onError }) {
  if (typeof message === 'string') {
    // Vous pouvez améliorer les performances de votre compilateur de message avec votre stratégie de cache ou aussi la mémoïsation ici
    const formatter = new IntlMessageFormat(message, locale)
    return ctx => formatter.format(ctx.values)
  } else {
    // Si vous voulez le supporter pour AST,
    // Vous devez transformer les messages locaux tels que `json`, `yaml`, etc. avec le plugin de bundle.
    onError && onError(new Error('not support for AST'))
    return () => key // renvoyer par défaut avec `key`
  }
}

// Appel avec les options de I18n
const i18n = createI18n({
  locale: 'ja',
  messageCompiler, // définir votre compilateur de message
  messages: {
    en: {
      hello: 'hello world!',
      greeting: 'hi, {name}!',
      // Format de message ICU
      photo: `You have {numPhotos, plural,
        =0 {no photos.}
        =1 {one photo.}
        other {# photos.}
      }`
    },
  }
})

// Le reste de vos actions ...
// ...

[!TIP] 🆕 v9.3+

[!WARNING] Le format de message personnalisé est une fonctionnalité expérimentale. Elle peut recevoir des changements cassants ou être supprimée dans le futur.

Voir :

undefined

messageResolver

Signature:

typescript
messageResolver?: MessageResolver;

Détails

Un résolveur de message pour résoudre.

S'il n'est pas spécifié, le résolveur de message interne de vue-i18n sera utilisé par défaut.

Vous devez implémenter vous-même un résolveur de message qui supporte les exigences suivantes :

  • Résoudre le message en utilisant le message local passé en premier argument du résolveur de message, et le chemin passé en second argument.

  • Si le message ne peut pas être résolu, vous devez retourner null.

  • Si vous retournez null, le résolveur de message sera également appelé lors du repli si activé, donc le message devra aussi être résolu.

Le résolveur de message est appelé indirectement par les API suivantes :


Exemples

Voici un exemple de comment le configurer avec votre createI18n :

js
import { createI18n } from 'vue-i18n'

// votre résolveur de message
function messageResolver(obj, path) {
  // résolution simplifiée de message !
  const msg = obj[path]
  return msg != null ? msg : null
}

// Appel avec les options de I18n
const i18n = createI18n({
  locale: 'ja',
  messageResolver, // définir votre résolveur de message
  messages: {
    en: { ... },
    ja: { ... }
  }
})

// Le reste de vos actions ...
// ...

[!TIP] 🆕 v9.2+

[!WARNING] Si vous utilisez le résolveur de message, le réglage de sera ignoré. Autrement dit, vous devez résoudre le JSON plat vous-même.

Voir :

undefined

messages

missing

Signature:

typescript
missing?: MissingHandler;

Détails

Un gestionnaire pour la traduction manquante.

Le gestionnaire est appelé avec la langue cible de localisation, la clé du chemin de localisation, l'instance Vue et les valeurs.

Si un gestionnaire manquant est attribué, et qu'une traduction manquante survient, il n'y aura pas d'avertissement.

null

missingWarn

Signature:

typescript
missingWarn?: boolean | RegExp;

Détails

Si supprimer les avertissements générés lorsque la localisation échoue.

Si false, supprimer les avertissements d'échec de localisation.

Si vous utilisez une expression régulière, vous pouvez supprimer les avertissements d'échec de localisation qui correspondent à la clé de traduction (ex : t).

Voir :

true

modifiers

Signature:

typescript
modifiers?: LinkedModifiers<VueMessageType>;

Détails

Modificateurs personnalisés pour les messages liés.

Voir :

number

numberFormats

pluralRules

Signature:

typescript
pluralRules?: PluralizationRules;

Détails

Un ensemble de règles pour la pluralisation des mots

Voir :

{}

postTranslation

Signature:

typescript
postTranslation?: PostTranslationHandler<VueMessageType>;

Détails

Un gestionnaire pour le post-traitement de la traduction.

Le gestionnaire est appelé après avoir été appelé avec t.

Ce gestionnaire est utile si vous souhaitez filtrer le texte traduit, par exemple, supprimer les espaces.

null

warnHtmlMessage

Signature:

typescript
warnHtmlMessage?: boolean;

Détails

Si autoriser l'utilisation des messages locaux avec mise en forme HTML.

Voir la propriété warnHtmlMessage.

Voir :

true

ComposerResolveLocaleMessageTranslation

Fonctions de résolution de la traduction des messages locaux

Signature:

typescript
export interface ComposerResolveLocaleMessageTranslation<Locales = 'en-US'>

Détails

Ceci est l'interface pour Composer

(message: MessageFunction<VueMessageType> | VueMessageType): string;

Résolution de la traduction des messages locaux

Signature:

typescript
(message: MessageFunction<VueMessageType> | VueMessageType): string;

Détails

Si cette fonction est utilisée dans un contexte réactif, elle se réévaluera une fois que la langue change.

Si 'local' ou certaines UseI18nOptions sont spécifiées dans useI18n, la traduction se fait dans les messages locaux de portée locale plutôt que dans les messages globaux.

Sinon, elle est traduite avec les messages globaux.

[!TIP] Le cas d'usage de rt est pour la traduction de messages locaux programmés en utilisant tm, v-for, for JavaScript.

[!WARNING] rt diffère de t car il traite directement le message local, pas la clé du message local. Il n'y a pas de repli interne avec rt. Vous devez comprendre et utiliser la structure du message local retourné par tm.

Voir :

Paramètres

ParamètreTypeDescription
messageMessageFunction<VueMessageType> | VueMessageTypeUn message local cible à résoudre. Vous devez spécifier le message local retourné par tm.

Retour

Message traduit

(message: MessageFunction<VueMessageType> | VueMessageType, plural: number, options?: TranslateOptions<Locales>): string;

Résolution de la traduction des messages locaux pour les pluriels

Signature:

typescript
(message: MessageFunction<VueMessageType> | VueMessageType, plural: number, options?: TranslateOptions<Locales>): string;

Détails

Surcharge de rt.

Dans cette surcharge de rt, retourne un message de traduction pluriel.

[!TIP] Le cas d'usage de rt est pour la traduction de messages locaux programmés en utilisant tm, v-for, for JavaScript.

[!WARNING] rt diffère de t car il traite directement le message local, pas la clé du message local. Il n'y a pas de repli interne avec rt. Vous devez comprendre et utiliser la structure du message local retourné par tm.

Voir :

Paramètres

ParamètreTypeDescription
messageMessageFunction<VueMessageType> | VueMessageTypeUn message local cible à résoudre. Vous devez spécifier le message local retourné par tm.
pluralnumberQuel message pluriel récupérer. 1 retourne le premier.
optionsTranslateOptions<Locales>Options supplémentaires pour la traduction

Retour

Message traduit

(message: MessageFunction<VueMessageType> | VueMessageType, list: unknown[], options?: TranslateOptions<Locales>): string;

Résolution de la traduction des messages locaux pour les interpolations de liste

Signature:

typescript
(message: MessageFunction<VueMessageType> | VueMessageType, list: unknown[], options?: TranslateOptions<Locales>): string;

Détails

Surcharge de rt.

Dans cette surcharge de rt, retourne un message de traduction pluriel.

[!TIP] Le cas d'usage de rt est pour la traduction de messages locaux programmés en utilisant tm, v-for, for JavaScript.

[!WARNING] rt diffère de t car il traite directement le message local, pas la clé du message local. Il n'y a pas de repli interne avec rt. Vous devez comprendre et utiliser la structure du message local retourné par tm.

Voir :

Paramètres

ParamètreTypeDescription
messageMessageFunction<VueMessageType> | VueMessageTypeUn message local cible à résoudre. Vous devez spécifier le message local retourné par tm.
listunknown[]Les valeurs d'interpolation de liste.
optionsTranslateOptions<Locales>Options supplémentaires pour la traduction

Retour

Message traduit

(message: MessageFunction<VueMessageType> | VueMessageType, named: NamedValue, options?: TranslateOptions<Locales>): string;

Résolution de la traduction des messages locaux pour les interpolations nommées

Signature:

typescript
(message: MessageFunction<VueMessageType> | VueMessageType, named: NamedValue, options?: TranslateOptions<Locales>): string;

Détails

Surcharge de rt.

Dans cette surcharge de rt, pour chaque espace réservé x, les messages locaux doivent contenir un token {x}.

[!TIP] Le cas d'usage de rt est pour la traduction de messages locaux programmés en utilisant tm, v-for, for JavaScript.

[!WARNING] rt diffère de t car il traite directement le message local, pas la clé du message local. Il n'y a pas de repli interne avec rt. Vous devez comprendre et utiliser la structure du message local retourné par tm.

Voir :

Paramètres

ParamètreTypeDescription
messageMessageFunction<VueMessageType> | VueMessageTypeUn message local cible à résoudre. Vous devez spécifier le message local retourné par tm.
namedNamedValueLes valeurs d'interpolation nommée.
optionsTranslateOptions<Locales>Options supplémentaires pour la traduction

Retour

Message traduit

ComposerTranslation

Fonctions de traduction des messages locaux

Signature:

typescript
export interface ComposerTranslation<Messages extends Record<string, any> = {}, Locales = 'en-US', DefinedLocaleMessage extends RemovedIndexResources<DefineLocaleMessage> = RemovedIndexResources<DefineLocaleMessage>, C = IsEmptyObject<DefinedLocaleMessage> extends false ? JsonPaths<{
    [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K];
}> : never, M = IsEmptyObject<Messages> extends false ? TranslationsPaths<Messages> : never, ResourceKeys extends C | M = IsNever<C> extends false ? IsNever<M> extends false ? C | M : C : IsNever<M> extends false ? M : never>

Détails

Ceci est l'interface pour Composer

(key: Key | ResourceKeys | number): string;

Traduction des messages locaux

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number): string;

Détails

Si cette fonction est utilisée dans un contexte réactif, elle se réévaluera une fois que la langue change.

Si I18nScope 'local' ou certaines UseI18nOptions sont spécifiées dans useI18n, la traduction se fait dans les messages locaux de portée locale plutôt que dans les messages globaux.

Sinon, elle est traduite avec les messages globaux.

Voir :

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message local cible

Retour

Message traduit

(key: Key | ResourceKeys | number, named: NamedValue): string;

Traduction des messages locaux pour les interpolations nommées

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number, named: NamedValue): string;

Détails

Surcharge de t.

Dans cette surcharge de t, pour chaque espace réservé x, les messages locaux doivent contenir un token {x}.

Vous pouvez également supprimer l'avertissement, lorsque la traduction est manquante selon les options.

Voir :

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message local cible
namedNamedValueLes valeurs d'interpolation nommée

Retour

Message traduit

(key: Key | ResourceKeys | number, named: NamedValue, plural: number): string;

Traduction des messages locaux pour les interpolations nommées et les pluriels

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number, named: NamedValue, plural: number): string;

Détails

Surcharge de t.

Dans cette surcharge de t, pour chaque espace réservé x, les messages locaux doivent contenir un token {x}, et retourne un message de traduction pluriel.

Voir :

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message local cible
namedNamedValueLes valeurs d'interpolation nommée
pluralnumberQuel message pluriel récupérer. 1 retourne le premier.

Retour

Message traduit

(key: Key | ResourceKeys | number, named: NamedValue, defaultMsg: string): string;

Traduction des messages locaux pour les interpolations nommées et les pluriels

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number, named: NamedValue, defaultMsg: string): string;

Détails

Surcharge de t.

Dans cette surcharge de t, pour chaque espace réservé x, les messages locaux doivent contenir un token {x}, et si aucune traduction n'a été trouvée, retourne un message par défaut.

Voir :

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message local cible
namedNamedValueLes valeurs d'interpolation nommée
defaultMsgstringUn message par défaut à retourner si aucune traduction n'a été trouvée

Retour

Message traduit

(key: Key | ResourceKeys | number, named: NamedValue, options: TranslateOptions<Locales>): string;

Traduction des messages locaux pour les interpolations nommées

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number, named: NamedValue, options: TranslateOptions<Locales>): string;

Détails

Surcharge de t.

Dans cette surcharge de t, pour chaque espace réservé x, les messages locaux doivent contenir un token {x}.

Vous pouvez également supprimer l'avertissement, lorsque la traduction est manquante selon les options.

Pour plus de détails sur les options, voir le .

Comment utiliser en détail :

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message local cible
namedNamedValueLes valeurs d'interpolation nommée
optionsTranslateOptions<Locales>Options supplémentaires pour la traduction

Retour

Message traduit

(key: Key | ResourceKeys | number, plural: number): string;

Traduction des messages locaux pour les pluriels

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number, plural: number): string;

Détails

Surcharge de t.

Dans cette surcharge de t, retourne un message de traduction pluriel.

Vous pouvez également supprimer l'avertissement, lorsque la traduction est manquante selon les options.

Voir :

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message local cible
pluralnumberQuel message pluriel récupérer. 1 retourne le premier.

Retour

Message traduit

(key: Key | ResourceKeys | number, plural: number, options: TranslateOptions<Locales>): string;

Traduction des messages locaux pour les pluriels

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number, plural: number, options: TranslateOptions<Locales>): string;

Détails

Surcharge de t.

Dans cette surcharge de t, retourne un message de traduction pluriel.

Vous pouvez également supprimer l'avertissement, lorsque la traduction est manquante selon les options.

Pour plus de détails sur les options, voir le .

Voir :

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message local cible
pluralnumberQuel message pluriel récupérer. 1 retourne le premier.
optionsTranslateOptions<Locales>Options supplémentaires pour la traduction

Retour

Message traduit

(key: Key | ResourceKeys | number, defaultMsg: string): string;

Traduction des messages locaux pour les messages par défaut manquants

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number, defaultMsg: string): string;

Détails

Surcharge de t.

Dans cette surcharge de t, si aucune traduction n'a été trouvée, retourne un message par défaut.

Vous pouvez également supprimer l'avertissement, lorsque la traduction est manquante selon les options.

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message local cible
defaultMsgstringUn message par défaut à retourner si aucune traduction n'a été trouvée

Retour

Message traduit

(key: Key | ResourceKeys | number, defaultMsg: string, options: TranslateOptions<Locales>): string;

Traduction des messages locaux pour les messages par défaut manquants

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number, defaultMsg: string, options: TranslateOptions<Locales>): string;

Détails

Surcharge de t.

Dans cette surcharge de t, si aucune traduction n'a été trouvée, retourne un message par défaut.

Vous pouvez également supprimer l'avertissement, lorsque la traduction est manquante selon les options.

Pour plus de détails sur les options, voir le .

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message local cible
defaultMsgstringUn message par défaut à retourner si aucune traduction n'a été trouvée
optionsTranslateOptions<Locales>Options supplémentaires pour la traduction

Retour

Message traduit

(key: Key | ResourceKeys | number, list: unknown[]): string;

Traduction des messages locaux pour les interpolations de liste

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number, list: unknown[]): string;

Détails

Surcharge de t.

Dans cette surcharge de t, les messages locaux doivent contenir {0}, {1}, … pour chaque espace réservé dans la liste.

Vous pouvez également supprimer l'avertissement, lorsque la traduction est manquante selon les options.

Voir :

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message local cible
listunknown[]Les valeurs d'interpolation de liste

Retour

Message traduit

(key: Key | ResourceKeys | number, list: unknown[], plural: number): string;

Traduction des messages locaux pour les interpolations de liste et les pluriels

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number, list: unknown[], plural: number): string;

Détails

Surcharge de t.

Dans cette surcharge de t, les messages locaux doivent contenir un {0}, {1}, … pour chaque espace réservé dans la liste, et retourner un message de traduction au pluriel.

Voir :

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message localisé cible
listunknown[]Les valeurs d'interpolation de liste
pluralnumberQuelle chaîne au pluriel obtenir. 1 retourne la première.

Retours

Message traduit

(key: Key | ResourceKeys | number, list: unknown[], defaultMsg: string): string;

Traduction de message localisé pour l'interpolation de liste et le message par défaut manquant

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number, list: unknown[], defaultMsg: string): string;

Détails

Surcharge de t.

Voir :

Dans cette surcharge de t, les messages locaux doivent contenir un {0}, {1}, … pour chaque espace réservé dans la liste, et si aucune traduction n’est trouvée, retourner un message par défaut.

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message localisé cible
listunknown[]Les valeurs d'interpolation de liste
defaultMsgstringUn message par défaut à retourner si aucune traduction n’est trouvée

Retours

Message traduit

(key: Key | ResourceKeys | number, list: unknown[], options: TranslateOptions<Locales>): string;

Traduction de message localisé pour l'interpolation de liste

Signature:

typescript
<Key extends string>(key: Key | ResourceKeys | number, list: unknown[], options: TranslateOptions<Locales>): string;

Détails

Surcharge de t.

Dans cette surcharge de t, les messages locaux doivent contenir un {0}, {1}, … pour chaque espace réservé dans la liste.

Vous pouvez aussi supprimer l'avertissement lorsque la traduction est manquante selon les options.

Pour plus de détails sur les options, voir le .

Comment utiliser pour plus de détails :

Paramètres

ParamètreTypeDescription
keyKey | ResourceKeys | numberUne clé de message localisé cible
listunknown[]Les valeurs d'interpolation de liste
optionsTranslateOptions<Locales>Options supplémentaires pour la traduction

Retours

Message traduit

MissingHandler

Signature:

typescript
export type MissingHandler = (locale: Locale, key: Path, instance?: ComponentInternalInstance | GenericComponentInstance, type?: string) => string | void;

useI18n

Utiliser l’API de composition pour Vue I18n

Signature:

typescript
export declare function useI18n<Schema = DefaultLocaleMessageSchema, Locales = 'en-US', Options extends UseI18nOptions<SchemaParams<Schema, VueMessageType>, LocaleParams<Locales>> = UseI18nOptions<SchemaParams<Schema, VueMessageType>, LocaleParams<Locales>>>(options?: Options): Composer<NonNullable<Options['messages']>, NonNullable<Options['datetimeFormats']>, NonNullable<Options['numberFormats']>, NonNullable<Options['locale']>>;

Paramètres de type

ParamètreDescription
SchemaLe schéma des ressources i18n (messages, datetimeFormats, numberFormats), par défaut
LocalesLe schéma des ressources i18n pour les locales, par défaut en-US

Détails

Cette fonction est principalement utilisée par setup.

Si les options sont spécifiées, une instance Composer est créée pour chaque composant et vous pouvez effectuer une localisation sur le composant.

Si les options ne sont pas spécifiées, vous pouvez effectuer une localisation à l’aide du Composer global.

Paramètres

ParamètreTypeDescription
optionsOptionsUne option, voir UseI18nOptions

Retours

Instance Composer

Exemples

Cas : Localisation basée sur les ressources du composant

html
<template>
  <form>
    <label>{{ t('language') }}</label>
    <select v-model="locale">
      <option value="en">en</option>
      <option value="ja">ja</option>
    </select>
  </form>
  <p>message: {{ t('hello') }}</p>
</template>

<script>
import { useI18n } from 'vue-i18n'

export default {
 setup() {
   const { t, locale } = useI18n({
     locale: 'ja',
     messages: {
       en: { ... },
       ja: { ... }
     }
   })
   // Quelque chose à faire ...

   return { ..., t, locale }
 }
}
</script>

UseI18nOptions

Options I18n pour useI18n

Signature:

typescript
export type UseI18nOptions<Schema extends {
    message?: unknown;
    datetime?: unknown;
    number?: unknown;
} = {
    message: DefaultLocaleMessageSchema;
    datetime: DefaultDateTimeFormatSchema;
    number: DefaultNumberFormatSchema;
}, Locales extends {
    messages: unknown;
    datetimeFormats: unknown;
    numberFormats: unknown;
} | string = Locale, Options extends ComposerOptions<Schema, Locales> = ComposerOptions<Schema, Locales>> = ComposerAdditionalOptions & Options;

Détails

UseI18nOptions hérite de ComposerAdditionalOptions et ComposerOptions, donc vous pouvez spécifier ces options.

VueMessageType

Signature:

typescript
export type VueMessageType = string | ResourceNode | VNode;