JSON-Übersetzer, der Struktur beibehält | Kostenloses i18n-Tool
Kostenloser JSON-Übersetzer, der Ihre Struktur intakt lässt. Übersetzen Sie i18n-Dateien, API-Antworten und verschachtelte JSON-Dateien unter Beibehaltung von Schlüsseln, Datentypen und Formatierung. Perfekt für i18next und mehrsprachige Anwendungen.
JSON-Struktur-Erhaltender Übersetzer
Dieses Tool übersetzt den Inhalt von JSON-Objekten und behält dabei ihre Struktur bei. Fügen Sie Ihr JSON im linken Bereich ein, wählen Sie eine Zielsprache und sehen Sie die übersetzte Ausgabe auf der rechten Seite.
Übersetzte Ausgabe erscheint hier...
Anleitung
- Fügen Sie Ihr JSON-Objekt in das Quell-JSON-Feld ein.
- Wählen Sie Ihre Zielsprache aus dem Dropdown-Menü.
- Das übersetzte JSON wird automatisch im rechten Bereich angezeigt.
- Klicken Sie auf den Kopieren-Button, um das übersetzte JSON in Ihre Zwischenablage zu kopieren.
Dokumentation
Was ist ein strukturerhaltender JSON-Übersetzer?
Ein strukturerhaltender JSON-Übersetzer ist ein Werkzeug, das ein JSON-Dokument durchläuft und nur die darin enthaltenen Textwerte ändert. Objektschlüssel, Zahlen, Wahrheitswerte und null bleiben exakt erhalten. Nur die Zeichenketten werden bearbeitet.
Diese Version des Werkzeugs sendet keinen Text an einen Übersetzungsdienst. Sie läuft vollständig im Browser. Für jede gefundene Zeichenkette setzt sie den Sprachcode der Zielsprache in eckigen Klammern vor den Originaltext, zum Beispiel [es] Hello. So kann eine Entwicklerin oder ein Entwickler genau prüfen, welche Teile einer JSON-Datei übersetzt würden, und bestätigen, dass die Struktur den Vorgang unverändert übersteht, bevor ein echter Übersetzungsdienst angebunden wird.
So funktioniert es
JSON kennt vier einfache Typen (Zeichenketten, Zahlen, boolesche Werte und null) und zwei strukturierte Typen (Objekte und Arrays). Ein Array ist eine geordnete Liste von Werten. Ein Objekt ist eine Menge von Name-Wert-Paaren, wobei jeder Name (Schlüssel) eine Zeichenkette ist.
Das Werkzeug wendet eine Regel an, die auf jeder Ebene des JSON-Baums wiederholt wird:
- Wenn ein Wert eine Zeichenkette ist, wird der Sprachcode der Zielsprache in eckigen Klammern davor gesetzt: Aus
textwird[code] text. Eine leere Zeichenkette bleibt"". - Wenn ein Wert eine Zahl, true, false oder null ist, bleibt er unverändert.
- Wenn ein Wert ein Array ist, wird diese Regel auf jedes Element in derselben Reihenfolge angewendet.
- Wenn ein Wert ein Objekt ist, wird diese Regel auf jeden Wert angewendet, und jeder Schlüssel bleibt unverändert.
Das Werkzeug prüft zunächst, ob das Eingabe-JSON eine gültige Syntax hat. Kann das JSON nicht geparst werden, wird der Vorgang abgebrochen und ein Fehler angezeigt, statt eine Vermutung anzustellen.
So wird das Werkzeug verwendet
- Fügen Sie ein JSON-Objekt in das Feld „Quell-JSON“ auf der linken Seite ein.
- Wählen Sie eine Zielsprache aus dem Auswahlmenü aus. Neun Sprachen stehen zur Verfügung: Spanisch, Französisch, Deutsch, Italienisch, Portugiesisch, Chinesisch, Japanisch, Koreanisch und Russisch.
- Das rechte Bedienfeld wird automatisch aktualisiert. Es muss keine Schaltfläche angeklickt werden.
- Klicken Sie auf „Kopieren“, um das Ergebnis in die Zwischenablage zu kopieren.
- Klicken Sie auf „Alles löschen“, um beide Bedienfelder zurückzusetzen und von vorn zu beginnen.
Beispiel
Eingabe-JSON:
1{
2 "app": {
3 "title": "My Store",
4 "version": 2,
5 "isBeta": false,
6 "tags": ["sale", "new"]
7 }
8}
9Wenn Spanisch (es) als Zielsprache ausgewählt ist, erzeugt das Werkzeug:
1{
2 "app": {
3 "title": "[es] My Store",
4 "version": 2,
5 "isBeta": false,
6 "tags": [
7 "[es] sale",
8 "[es] new"
9 ]
10 }
11}
12Beachten Sie, dass "title" und "tags" als Schlüssel erhalten bleiben, 2 und false unverändert bleiben und nur die Zeichenkettenwerte mit dem Tag [es] versehen werden. Die Verschachtelung und die Reihenfolge der Array-Elemente sind mit der Eingabe identisch.
Was sich ändert und was gleich bleibt
| JSON-Element | Ergebnis |
|---|---|
| Zeichenkettenwert | Erhält das Präfix [language code] |
| Zahl | Unverändert |
true / false | Unverändert |
null | Unverändert |
| Objektschlüssel | Immer unverändert |
| Reihenfolge der Array-Elemente | Immer unverändert |
Leere Zeichenkette "" | Unverändert |
Das ist besonders bei Dateien wichtig, deren Struktur eine Bedeutung trägt, etwa bei einer i18n-Datei (Internationalisierung), die von einer Webanwendung verwendet wird, oder bei einer API-Antwort, die der Client anhand von Schlüsseln ausliest. Wenn sich ein Schlüssel wie "welcomeMessage" während der Übersetzung änderte, würde Code, der welcomeMessage abfragt, nicht mehr funktionieren. Dieses Werkzeug bearbeitet niemals Schlüssel, daher besteht dieses Risiko hier nicht.
Häufige Fehler
„Ungültiges JSON-Format. Bitte überprüfen Sie Ihre Eingabe.“ Diese Meldung erscheint, wenn der eingefügte Text kein gültiges JSON ist. Typische Ursachen sind ein fehlendes Komma zwischen Einträgen, ein Komma nach dem letzten Element, einfache statt doppelter Anführungszeichen oder ein nicht maskiertes Sonderzeichen in einer Zeichenkette. Wer die Eingabe zuerst durch einen JSON-Validator laufen lässt, findet die genaue Stelle leichter.
„Übersetzung fehlgeschlagen. Bitte versuchen Sie es erneut.“
Diese Meldung erscheint in genau einem Fall: wenn die eingefügte Eingabe nur das Wort null ist und sonst nichts. Da es keine Struktur zum Durchlaufen gibt, hat das Werkzeug nichts zu verarbeiten. Das lässt sich vermeiden, indem der Wert in ein Objekt gepackt wird, etwa {"value": null}.
Bleibt das Eingabefeld leer, erscheint ein Platzhaltertext, und es wird kein Fehler gemeldet.
Warum die Strukturerhaltung wichtig ist
JSON-Dateien, in denen Übersetzungen einer Anwendung gespeichert sind, etwa en.json und fr.json, benötigen normalerweise identische Schlüssel, damit der umgebende Code in jeder Sprache denselben Pfad abfragen kann, zum Beispiel user.profile.displayName. Dasselbe gilt für API-Antworten, die anhand von Feldnamen ausgelesen werden, sowie für Konfigurationsdateien, bei denen eine Änderung des Schlüsselnamens eine Bereitstellung verhindern kann. Die Struktur zu erhalten und gleichzeitig übersetzbare Zeichenketten zu kennzeichnen, ist ein sinnvoller erster Schritt, bevor diese Zeichenketten an einen echten Übersetzungsdienst gesendet oder von einer Übersetzerin bzw. einem Übersetzer geprüft werden.
Häufig gestellte Fragen
Ruft dieses Werkzeug einen echten Übersetzungsdienst auf? Nein. Es läuft nur im Browser und sendet keine Daten irgendwohin. Statt übersetzter Wörter versieht es jede Zeichenkette mit dem Code der Zielsprache.
Warum zeigt meine Ausgabe [es] Hello statt Hola?
Diese Kennzeichnung in eckigen Klammern ist das Platzhalterverhalten der aktuellen Version. Sie zeigt, welche Zeichenketten übersetzt würden und in welche Sprache, ohne tatsächlich zu übersetzen.
Verändert es meine Objektschlüssel oder Zahlen?
Nein. Schlüssel, Zahlen, true/false und null werden auf jeder Verschachtelungsebene unverändert übernommen, auch innerhalb von Arrays.
Wird eine Internetverbindung benötigt? Nein. Das Einlesen und Kennzeichnen geschieht lokal im Browser-Tab.
Kann ich das für i18next oder ähnliche Übersetzungsdateien verwenden? Die Ausgabe behält dieselbe Schlüsselstruktur wie die Eingabe und passt daher zu jedem Framework, das übereinstimmende Schlüssel in allen Sprachdateien erwartet. Die Zeichenkettenwerte selbst müssen vor der Verwendung noch durch echte Übersetzungen ersetzt werden.
Was passiert bei tief verschachteltem JSON oder Arrays in Arrays? Das Werkzeug verarbeitet jede Ebene, egal wie tief, und jedes Array-Element, wobei es jedes Mal dieselbe Regel anwendet.
Referenzen
- Internet Engineering Task Force. RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format. RFC 8259 – die vier einfachen Typen und zwei strukturierten Typen, geordnete Arrays und Objekte als Name-Wert-Paare mit Zeichenkettennamen.
- MDN Web Docs (Mozilla). JSON.parse(). JSON.parse()-Referenz – JSON erlaubt keine nachgestellten Kommas, und Zeichenketten müssen doppelte, keine einfachen Anführungszeichen verwenden.