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 type | Type par défaut |
|---|---|
Schema extends object | object |
Locales extends | { datetimeFormats: unknown; messages: unknown; numberFormats: unknown; } | string | Locale |
MessagesLocales | Locales extends object ? M : Locales extends string ? Locales : Locale |
DateTimeFormatsLocales | Locales extends object ? D : Locales extends string ? Locales : Locale |
NumberFormatsLocales | Locales extends object ? N : Locales extends string ? Locales : Locale |
MessageSchema | Schema extends object ? M : DefaultLocaleMessageSchema |
DateTimeSchema | Schema extends object ? D : DefaultDateTimeFormatSchema |
NumberSchema | Schema 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?
optional datetimeFormats: { [K in string | number | symbol]: DateTimeSchema };Remarques
Les formats de date et heure de localisation.
Voir :
Défaut
{}
escapeParameter?
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?
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?
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?
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?
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?
optional flatJson: boolean;Remarques
Autoriser l'utilisation de messages JSON plats ou non
Défaut
false
inheritLocale?
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?
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?
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
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?
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 :
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?
optional messages: { [K in string | number | symbol]: MessageSchema };Remarques
Les messages locaux de localisation.
Voir :
Défaut
{}
missing?
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?
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?
optional modifiers: LinkedModifiers<VueMessageType>;Remarques
Modificateurs personnalisés pour les messages liés.
Voir :
numberFormats?
optional numberFormats: { [K in string | number | symbol]: NumberSchema };Remarques
Les formats numériques de localisation.
Voir :
Défaut
{}
pluralRules?
optional pluralRules: PluralizationRules;Remarques
Un ensemble de règles pour la pluralisation des mots
Voir :
Défaut
{}
postTranslation?
optional postTranslation: PostTranslationHandler<VueMessageType>;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?
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