Fügen Sie die Ausgangsnachricht in „ICU-Quellnachricht“ und ihre Übersetzung in „Übersetzte ICU-Nachricht“ ein. Beide Zeichenketten werden als ICU MessageFormat gelesen, ihre Struktur wird verglichen, und jeder Befund steht in einer eigenen Zeile mit dem Präfix OK, CHECK oder ERROR.
Die drei Zähler über der Liste zeigen, wie viele Argumente jede Nachricht deklariert und wie viele Befunde es gibt. Alles wird in diesem Browser ausgewertet: nichts wird hochgeladen, und die Seite funktioniert nach dem Laden offline weiter.
Argumente werden über beide Nachrichten hinweg nach Namen abgeglichen. Ein Argument, das nur in der Quelle steht, ist ein ERROR, eines, das nur in der Übersetzung steht, ein CHECK, und trägt derselbe Name einen anderen Typ — plural in der einen, number in der anderen Nachricht —, meldet der Bericht einen CHECK mit beiden Typen.
Bei select-Argumenten werden die Zweigschlüssel einzeln verglichen; ein in der Übersetzung fehlender oder zusätzlicher Zweig wird mit Namen gemeldet. plural- und selectordinal-Argumente müssen einen other-Zweig behalten, ein fehlendes other ist ein ERROR und wird der Seite zugeordnet, die ihn verloren hat. In Zweigen verschachtelte Nachrichten werden rekursiv gelesen, ihre Argumente zählen also mit.
plural- und selectordinal-Zweige werden nicht einzeln verglichen: Eine Quelle mit one/other gegenüber einer Übersetzung, die nur other hat, gilt als kompatibel. Der Prüfer liest außerdem nicht den übersetzten Wortlaut, prüft nicht, welche Pluralkategorien die Zielsprache braucht (few, many …), und rendert die Nachricht nicht mit Werten.
Ein grüner Bericht heißt daher nur, dass beide Nachrichten dieselben Argumente und dieselben select-Zweige deklarieren. Rendern Sie beide vor der Veröffentlichung mit Ihrer Produktionsbibliothek und beachten Sie die Pluralregeln der Zielsprache.
Der Parser liest {name}-Argumente, plural-, selectordinal- und select-Argumente mit ihren Zweigen, offset:N im plural-Kopf, verschachtelte Nachrichten, den #-Platzhalter in plural-Zweigen und die Apostroph-Schreibweise: Zwei Apostrophe stehen für einen wörtlichen Apostroph, ein einzelner öffnet und schließt zitierten Text. Typen wie number, date oder time werden namentlich erfasst, ein Format-Skelett wie {value, number, ::percent} wird also akzeptiert.
Eine Nachricht, die nicht gelesen werden kann, bricht den Lauf mit einem ERROR ab statt mit einem Bericht: eine nicht geschlossene {, eine } ohne Partner, ein nicht geschlossener Apostroph, ein Argumentname, der nicht mit Buchstabe oder Unterstrich beginnt, oder ein Zweig ohne seinen { … }-Block.