Aller au contenu principal

Développer avec formatjs

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

En plus de faciliter le pipeline de production i18n, formatjs vise aussi à améliorer l'expérience développeur i18n grâce à notre plugin ESLint pour formatjs.

Installation du linter

npm i -D eslint-plugin-formatjs eslint

Puis dans votre configuration ESLint :

{
"plugins": ["formatjs"],
"rules": {
"formatjs/no-offset": "error"
}
}

Consultez eslint-plugin-formatjs pour plus de détails sur nos règles.

Codes d'erreur

react-intl est conçu pour échouer rapidement en cas de problème de configuration mais basculer sur defaultLocale pour les erreurs de traduction. Voici la liste des erreurs émissibles détectables lors des tests :

FORMAT_ERROR

Problème lors du formatage d'une phrase lorsque des valeurs de paramètres sont malformées, par exemple une string passée pour une Date.

UNSUPPORTED_FORMATTER

Cette erreur survient lorsqu'un format personnalisé est déclaré sans formateur associé. Par exemple :

intl.formatMessage({
defaultMessage: 'the price is {p, number, customCurrency}',
})

et qu'aucun formateur n'existe pour customCurrency.

INVALID_CONFIG

Lorsque des valeurs de configuration sont incorrectes, comme l'absence de locale.

MISSING_DATA

Quand les APIs Intl natives ne supportent pas certaines locales, ou que les locale-data manquent malgré les polyfills. Typiquement sur des navigateurs/Node obsolètes ou avec des APIs non supportées.

MISSING_TRANSLATION

Déclenchée quand un message traduit dans messages est introuvable pour un id donné et qu'aucun defaultMessage de secours n'existe pour cet id.

verbosité

Cette erreur survient fréquemment puisqu'elle se produit pour chaque message non traduit. Si vous la journalisez à distance, implémentez un mécanisme de limitation.