ICU-Ausgangstext und Übersetzung vergleichen

Fügen Sie Ausgangsnachricht und Übersetzung ein, um ihre Struktur zu vergleichen. Prüfen Sie das Ergebnis zusätzlich mit Ihrer produktiven ICU- oder i18n-Bibliothek.

Läuft lokal in deinem Browser
Nachrichten werden vollständig in diesem Browser analysiert. VoriTools lädt sie nicht hoch, übersetzt oder speichert sie nicht.
ICU-Quellnachricht
Übersetzte ICU-Nachricht
Kompatibilitätsbericht
—Quellargumente
—Übersetzungsargumente
—Probleme
  • INFOFügen Sie beide Nachrichten ein und führen Sie die lokale Kompatibilitätsprüfung aus.

Übersetzungsvertragsfehler vor dem Rendern erkennen

Der Prüfer validiert praxisnahe ICU-MessageFormat-Strukturen, darunter verschachtelte Argumente, select-Zweige, plural-/selectordinal-Fallbacks und Platzhalter-Parität. Er ist eine Prüfhilfe und kein Ersatz für die i18n-Bibliothek Ihrer Produktion.

Zwei ICU-Nachrichten vergleichen

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.

  1. Fügen Sie die Ausgangsnachricht links und die Übersetzung rechts ein, oder laden Sie mit „Beispiel laden“ ein funktionierendes Paar.
  2. Klicken Sie auf „Nachrichten prüfen“. Ein kompatibles Paar ergibt eine einzelne OK-Zeile, jede andere Abweichung eine CHECK- oder ERROR-Zeile.
  3. Lesen Sie den Bericht: ERROR markiert einen gebrochenen Vertrag — ein Argument oder einen other-Zweig, den die Übersetzung verloren hat, oder eine Nachricht, die nicht gelesen werden kann; CHECK markiert eine Abweichung, die geprüft werden sollte, etwa ein zusätzliches Argument, einen anderen Typ oder einen select-Zweig, den nur eine Seite hat.
  4. Mit „Bericht kopieren“ nehmen Sie die Befunde als reinen Text mit, mit „Leeren“ starten Sie mit leeren Feldern neu.
  5. Rendern Sie die fertigen Nachrichten mit der ICU- oder i18n-Bibliothek Ihrer Produktion: Diese Seite vergleicht die Struktur, nicht den übersetzten Wortlaut.

Was der Prüfer vergleicht und was er auslässt

Was verglichen wird

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.

Was nicht verglichen wird

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.

Akzeptierte Syntax

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.

Zuletzt verwendet: