Skip to content

vue-i18n / général / ComposerOptions

Interface: ComposerOptions<Schema, Locales, MessagesLocales, DateTimeFormatsLocales, NumberFormatsLocales, MessageSchema, DateTimeSchema, NumberSchema, _Messages, _DateTimeFormats, _NumberFormats>

Options du composeur

Remarques

Ce sont les options pour créer un composeur.

Composition de Vue I18n

Paramètres de type

Paramètre de typeType par défaut
Schema extends objectobject
Locales extends | { datetimeFormats: unknown; messages: unknown; numberFormats: unknown; } | stringLocale
MessagesLocalesLocales extends object ? M : Locales extends string ? Locales : Locale
DateTimeFormatsLocalesLocales extends object ? D : Locales extends string ? Locales : Locale
NumberFormatsLocalesLocales extends object ? N : Locales extends string ? Locales : Locale
MessageSchemaSchema extends object ? M : DefaultLocaleMessageSchema
DateTimeSchemaSchema extends object ? D : DefaultDateTimeFormatSchema
NumberSchemaSchema extends object ? N : DefaultNumberFormatSchema
_Messages extends LocaleMessages<MessageSchema, MessagesLocales, VueMessageType>LocaleMessages<MessageSchema, MessagesLocales, VueMessageType>
_DateTimeFormats extends IntlDateTimeFormats<DateTimeSchema, DateTimeFormatsLocales>IntlDateTimeFormats<DateTimeSchema, DateTimeFormatsLocales>
_NumberFormats extends IntlNumberFormats<NumberSchema, NumberFormatsLocales>IntlNumberFormats<NumberSchema, NumberFormatsLocales>

Propriétés

datetimeFormats?

ts
optional datetimeFormats: { [K in string | number | symbol]: DateTimeSchema };

Remarques

Les formats de date et heure de localisation.

Voir :

Défaut

{}


escapeParameter?

ts
optional escapeParameter: boolean;

Remarques

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

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

Ce schéma d'utilisation se produit principalement lors du passage de chaînes de texte précalculées dans des composants UI.

Le processus d'échappement implique le remplacement des symboles suivants par leurs entités de caractères HTML respectives : <, >, ", '.

Définir escapeParameter sur true ne devrait pas casser la fonctionnalité existante mais fournit une protection contre un type subtil de vecteurs d'attaque XSS.

Voir :

Défaut

false


fallbackFormat?

ts
optional fallbackFormat: boolean;

Remarques

Détermine si effectuer l'interpolation de modèle sur les clés de traduction quand votre langue manque une traduction pour une clé.

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

Voir :

Défaut

false


fallbackLocale?

ts
optional fallbackLocale: FallbackLocale;

Remarques

La localisation de repli.

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

Voir :

Défaut

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


fallbackRoot?

ts
optional fallbackRoot: boolean;

Remarques

Dans la localisation des composants, détermine si effectuer un repli vers la localisation de niveau racine (portée globale) en cas d'échec de localisation.

Si false, il n'y a pas de repli vers la racine.

Voir :

Défaut

true


fallbackWarn?

ts
optional fallbackWarn: boolean | RegExp;

Remarques

Détermine si supprimer les avertissements lors du repli vers fallbackLocale ou la racine.

Si false, supprime 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 (par exemple t).

Voir :

Défaut

true


flatJson?

ts
optional flatJson: boolean;

Remarques

Autoriser l'utilisation de messages JSON plats ou non

Défaut

false


inheritLocale?

ts
optional inheritLocale: boolean;

Remarques

Détermine si hériter la locale de niveau racine vers la locale de localisation du composant.

Si false, indépendamment de la locale de niveau racine, localise pour chaque locale de composant.

Voir :

Défaut

true


locale?

ts
optional locale: string;

Remarques

La locale de localisation.

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

Voir :

Défaut

'en-US'


messageCompiler?

ts
optional messageCompiler: MessageCompiler;

Remarques

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 des fonctions de message

Exemple

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 souhaitez le prendre en charge 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 // retourne par défaut avec `key`
  }
}

// appeler avec les options I18n
const i18n = createI18n({
  locale: 'ja',
  messageCompiler, // définissez 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.}
      }`
    },
  }
})

// ci-dessous votre truc à faire ...
// ...

TIP

: new: v9.3+

WARNING

Le format de message personnalisé est une fonctionnalité expérimentale. Elle peut recevoir des modifications cassantes ou être supprimée dans le futur.

Voir :

Défaut

undefined


messageResolver?

ts
optional messageResolver: MessageResolver;

Remarques

Un résolveur de message pour résoudre messages.

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 un résolveur de message vous-même qui prend en charge les exigences suivantes :

  • Résoudre le message en utilisant le message local de locale passé comme premier argument du résolveur de message, ainsi que le chemin passé comme deuxième 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é en cas de repli si fallbackLocale est activé, donc le message devra également être résolu.

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

Exemple

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 de message simple !
  const msg = obj[path]
  return msg != null ? msg : null
}

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

// ci-dessous votre truc à faire ...
// ...

TIP

: new: v9.2+

WARNING

Si vous utilisez le résolveur de message, le paramètre Composer#flatJson sera ignoré. Cela signifie que vous devez résoudre le JSON plat vous-même.

Voir :

Défaut

undefined


messages?

ts
optional messages: { [K in string | number | symbol]: MessageSchema };

Remarques

Les messages locaux de localisation.

Voir :

Défaut

{}


missing?

ts
optional missing: MissingHandler;

Remarques

Un gestionnaire pour le manque de localisation.

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

Si un gestionnaire manquant est assigné et qu'un manque de localisation se produit, il n'y a pas d'avertissement.

Défaut

null


missingWarn?

ts
optional missingWarn: boolean | RegExp;

Remarques

Détermine si supprimer les avertissements affichés lors de l'échec de la localisation.

Si false, supprime 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 (par exemple t).

Voir :

Défaut

true


modifiers?

ts
optional modifiers: LinkedModifiers&lt;VueMessageType&gt;;

Remarques

Modificateurs personnalisés pour les messages liés.

Voir :


numberFormats?

ts
optional numberFormats: { [K in string | number | symbol]: NumberSchema };

Remarques

Les formats numériques de localisation.

Voir :

Défaut

{}


pluralRules?

ts
optional pluralRules: PluralizationRules;

Remarques

Un ensemble de règles pour la pluralisation des mots

Voir :

Défaut

{}


postTranslation?

ts
optional postTranslation: PostTranslationHandler&lt;VueMessageType&gt;;

Remarques

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, comme le retrait des espaces.

Défaut

null


warnHtmlMessage?

ts
optional warnHtmlMessage: boolean;

Remarques

Détermine si autoriser l'utilisation de messages locaux au format HTML.

Voir la propriété warnHtmlMessage.

Voir :

Défaut

true