Outils de localisation

tester ICU MessageFormatvoir la phrase réellement produite

Saisissez un modèle ICU traditionnel, ses paramètres JSON et une locale pour comparer le rendu de sept valeurs.

tester ICU MessageFormat

Message ICU

Paramètres JSON

Résultat formaté

Résultats aux valeurs limites

Ajoutez un argument plural ou selectordinal pour voir les valeurs limites.

Le message et les paramètres restent dans cet onglet du navigateur.

Options de test

Les catégories de pluriel viennent de Intl dans ce navigateur. Sa version CLDR varie et peut différer de celle de votre application.

Le résultat est périmé. Relancez le test avant de l’exporter.

Une traduction peut paraître juste avec 1 puis prendre une mauvaise branche avec 11. Pour tester ICU MessageFormat, ce panneau exécute le même modèle sur plusieurs nombres et affiche la catégorie ainsi que la phrase obtenue.

Vous pouvez tester ICU MessageFormat avant de publier une entrée de catalogue, pour repérer une variable absente ou un select imbriqué mal formé. Le moteur est FormatJS; les règles de pluriel viennent du navigateur actuel. Vérifiez ensuite dans le moteur réellement utilisé par votre application si les sorties doivent coïncider exactement.

Pourquoi tester ICU MessageFormat ?

Un aperçu unique ne révèle pas toutes les formes de pluriel.

Comparer les phrases pour 0 et 21

Pour tester ICU MessageFormat, exécutez le modèle avec 0, 1, 2, 5, 11, 21 et 101. Une branche exacte =0 passe avant la catégorie de pluriel. Le tableau donne à la fois la catégorie et le texte, sans modifier les paramètres saisis.

Une phrase se divise en plusieurs résultats lorsque le nombre traverse les règles d’une locale.

Repérer une variable oubliée

La clé JSON doit correspondre exactement à un nom comme {name}, majuscules comprises. Le contrôle signale les paramètres absents et la position d’une erreur de syntaxe. Les select et plural imbriqués passent par le même parseur FormatJS.

Un jeton absent interrompt le flux des paramètres vers la phrase formatée.

Trois vérifications avant la mise en production

01

Partir du vrai modèle

Collez un message traditionnel MF1 ou chargez un exemple plural, select ou imbriqué. L’exemple invalide montre le diagnostic obtenu lorsqu’une branche other manque. La syntaxe MF2 comme {$name} appartient à un autre format.

02

Aligner les clés et la locale

Fournissez un seul objet JSON et respectez exactement le nom de chaque variable. Changez la locale BCP 47 pour voir si la même valeur prend une autre catégorie CLDR; la version de ces données dépend du navigateur.

03

Lire chaque sortie limite

Sélectionnez une variable numérique et comparez surtout 0, 1, 11 et 21. Chaque essai remplace temporairement cette valeur, sans réécrire le JSON. La copie et le téléchargement sont désactivés tant que le résultat est périmé.

Du modèle à la phrase rendue

Un seul parseur et moteur

Pour tester ICU MessageFormat, FormatJS analyse et exécute le même message MF1. Plural, select, selectordinal, offset, branches imbriquées et formatage numérique simple sont pris en charge.

Catégorie et phrase côte à côte

Un tableau de règles de pluriel n’est utile que si l’on voit le résultat réel. Sept valeurs, dont 11 et 21, indiquent la catégorie et la phrase complète à relire.

Diagnostics distincts

La validation de syntaxe ICU indique ligne et colonne lorsque le parseur les fournit. JSON incorrect, variable manquante et locale indisponible ont des messages séparés. Une modification rend l’ancienne sortie non exportable.

Changements réversibles

Le test automatique attend la fin de la saisie. Les exemples et l’effacement ouvrent un aperçu du remplacement; après application, une annulation restaure entrée et résultat.

Ce que la prévisualisation ne déduit pas

MF1 uniquement
Vous pouvez tester ICU MessageFormat traditionnel selon FormatJS. Les constructions MF2 telles que {$name} et .match ne sont ni mélangées ni converties automatiquement.
Règles CLDR du navigateur
Intl.PluralRules fournit les catégories. La page ne connaît pas la version CLDR exacte du navigateur et ne garantit pas la même sortie qu’ICU4J, ICU4C ou un serveur configuré autrement.
Un message, pas tout un catalogue
L’outil ne téléverse pas de fichiers de traduction, ne compare pas source et cible et n’ajoute jamais une branche other manquante. Le JSON racine doit être un objet, ni tableau ni valeur simple.
Sortie en texte brut
Les balises de texte enrichi nécessitant des callbacks sont refusées; aucune sortie n’est exécutée comme HTML. Les formats complexes de date, heure ou devise sont à contrôler dans le moteur de production.

Questions fréquentes pour tester ICU MessageFormat

Comment gérer les valeurs dynamiques comme les noms ou les comptes ?

Déclarez des arguments nommés dans le modèle, puis fournissez des clés identiques dans l’objet JSON. Pour un compte, utilisez plural; le panneau signale une clé absente ou une valeur qui n’est pas numérique.

Comment gérer les pluriels ?

Écrivez les branches nécessaires pour la locale et gardez toujours other. Pour tester ICU MessageFormat, observez les phrases réellement produites à 0, 1, 2, 5, 11, 21 et 101, plutôt que de supposer que one et other suffisent partout.

Comment gérer les genres ?

Un select peut choisir female, male ou other à partir d’une valeur fournie explicitement. L’outil ne déduit pas le genre d’un prénom; saisissez la valeur utilisée par votre application.

Comment gérer les formes plurielles dans la localisation CSV

La question vient des catalogues CSV, mais cet outil teste une seule chaîne ICU déjà extraite. Collez le texte de la cellule et un objet d’arguments; la gestion des colonnes du fichier relève de votre système de localisation.

Comment gérer les placeholders et les variables dans la traduction CSV

Collez une entrée de traduction à la fois et conservez les noms de variables tels que l’application les envoie. Le test signale les paramètres manquants; il ne compare pas automatiquement toutes les lignes ni les langues d’un CSV.

Une sortie diffère de celle de votre application ?

Commencer à tester ICU MessageFormat

Modifiez count dans l’exemple, puis comparez 11 et 21 avec une autre locale.

Revenez tester ICU MessageFormat chaque fois qu’une traduction échoue pour une valeur précise.

Traitement local dans ce navigateur.