Zum Inhalt springen
100% lokal

PO-zu-JSON-Konverter

Konvertieren Sie einen Gettext-.po-Übersetzungskatalog in JSON und umgekehrt.

Eingabe
Ausgabe

PO-zu-JSON-Konverter

Fügen Sie einen Gettext-.po-Katalog ein und dieses Tool konvertiert jedes msgid/msgstr-Paar in ein JSON-Objekt, das bereit ist, in eine JavaScript-i18n-Bibliothek geladen oder von Hand überprüft zu werden. Wechseln Sie die Richtung und es funktioniert auch umgekehrt, indem Sie ein JSON-Übersetzungsobjekt in eine gültige .po-Datei zurückkonvertieren. Entwickler nutzen es, um Übersetzungsverwaltungstools, die .po exportieren, mit Front-End-Stacks zu verbinden, die JSON erwarten, ohne Gettext-Tools zu installieren oder ein einmaliges Skript zu schreiben.

Die Optionen steuern die genaue Form des JSON. "Schlüssel nach gepunkteter msgid verschachteln" konvertiert einen flachen Katalog wie "nav.home" in verschachtelte Objekte, anstatt einen langen Schlüssel zu verwenden. "Einträge ohne Übersetzung entfernen" filtert msgids heraus, die niemand noch übersetzt hat. Pluralformen (msgid_plural plus msgstr[0], msgstr[1]...) werden entweder zu einem JSON-Array oder zu separaten Schlüsseln mit Suffix wie key_0 und key_1. Ein msgctxt-Kontext kann ggf. als Präfix "context|msgid" in den Schlüssel eingefügt werden, sodass identische englische Zeichenketten, die an verschiedenen Stellen verwendet werden, nicht kollidieren. Kommentare, Quellverweise und der Katalogkopf (der Metadatenblock am Anfang der meisten .po-Dateien) können jeweils beibehalten oder verworfen werden.

Mehrzeilige und verkettete Zeichenkettenliterale, Escape-Anführungszeichen, Backslashes und Zeilenumbrüche werden auf die gleiche Weise behandelt wie Gettext sie schreibt, in beide Richtungen. Die Live-Tally meldet, wie viele Einträge übersetzt, nicht übersetzt und als fuzzy markiert sind, damit Sie die Katalogvollständigkeit ohne die Öffnung eines Übersetzungs-Editors beurteilen können. Sehr große Kataloge werden unterstützt. Ein Ergebnis, das das Größenlimit für Ausgaben überschreiten würde, erzeugt statt der Einfrierung des Registerkartens eine Nachricht.

Alles wird lokal in Ihrem Browser ausgeführt – eine .po-Datei enthält oft den gesamten UI-Text eines Produkts und nichts davon wird irgendwo hochgeladen. Kopieren Sie das Ergebnis, laden Sie es als .txt-Datei herunter oder senden Sie es direkt zurück in die Eingabe, um es in die andere Richtung zu konvertieren.

Häufige Fragen

Was passiert mit dem .po-Kopf, wenn ich zu JSON konvertiere?
Wenn "Katalogkopf beibehalten" aktiviert ist, wird der Metadatenblock (msgid "") als Objekt unter dem leeren Stringschlüssel einbezogen. Deaktivieren Sie ihn, um nur die übersetzten Strings zu erhalten.
Wie werden Pluralformen dargestellt?
Mit "Pluralformen als Array" aktiviert werden msgid_plural-Einträge zu einem JSON-Array aller msgstr[n]. Deaktivieren Sie es und jede Form wird zu ihrem eigenen Schlüssel mit numerischem Suffix wie item_0 und item_1.
Kann ich eine Datei in beide Richtungen durchlaufen lassen?
Ja. Konvertieren Sie .po in JSON, bearbeiten Sie das JSON, und wechseln Sie dann die Richtung und konvertieren Sie es zurück – die gleichen Optionen (Verschachtelung, msgctxt-Präfix, Pluralstil) werden auf beide Seiten angewendet, damit die Formen übereinstimmen.
Was zählt als ein "fuzzy"-Eintrag?
Ein Eintrag, den Gettext mit dem Flag #, fuzzy markiert hat, was bedeutet, dass ein Maschinen- oder ein früherer Übersetzer ihn entwarf, aber er muss noch überprüft werden. Die Live-Tally zählt diese separat von übersetzten und nicht übersetzten Einträgen.
Wird mein Übersetzungskatalog irgendwo hochgeladen?
Nein. Die Konvertierung läuft vollständig in Ihrem Browser mit JavaScript ab – Ihre .po- oder JSON-Datei verlässt Ihr Gerät niemals.