Case Study
Chaos – Tool zur Lokalisierung von Website-Inhalten
Chaos ist ein weltweit führender Anbieter von 3D-Visualisierungstechnologie, 1997 gegründet und bekannt für V-Ray – den physikalisch basierten Renderer, der sowohl mit einem Academy Award als auch mit einem Engineering Emmy ausgezeichnet wurde. Nach der Fusion mit Enscape umfasst das Portfolio des Unternehmens V-Ray, Enscape, Corona, Vantage, Phoenix und Cosmos und bedient Architektur, Ingenieur- und Bauwesen, Medien und Unterhaltung, Produktdesign und Fertigung.
Mit Hauptsitz in Karlsruhe und Büros in Sofia, Prag, Tokio, Seoul, Los Angeles und New York bedient Chaos einen weltweiten Kundenstamm – was Geschwindigkeit und Genauigkeit bei der Übersetzung der Web-Inhalte zu einem unmittelbar geschäftlichen Anliegen macht.
Das Projekt
Die Herausforderung
Die Website chaos.com beruht auf einer komponentengetriebenen Architektur: Jede Seite wird als JSON-Dokument gespeichert, das eine Liste von Widgets enthält, jedes mit einem eigenen, tief verschachtelten Settings-Objekt. Die Marketingtexte liegen in diesen Settings – Überschriften, Button-Beschriftungen, Tab-Titel, Testimonial-Zitate, FAQ-Einträge, Formularhinweise – vermischt mit Layout-Parametern, Medienverweisen, Styling-Flags und Widget-IDs.
Eine Seite zu lokalisieren bedeutete, dass ein Entwickler oder Content-Redakteur rohes JSON öffnete und Werte in verschachtelten Arrays von Hand bearbeitete. Das war langsam, es ließ sich nicht an eine Übersetzungsagentur übergeben, und eine falsch gesetzte Klammer oder eine versehentlich geänderte Widget-ID genügte, um die Seite zu zerstören. Chaos brauchte einen Weg, übersetzbaren Text herauszuholen, ihn den Übersetzern zu übergeben und ihn sicher wieder einzuspielen.
Unser Vorgehen
Wir haben eine Windows-Desktop-Anwendung in C#/.NET entwickelt, die einen verlustfreien Rundlauf zwischen dem Seiten-JSON und einer übersetzerfreundlichen Tabelle ausführt.
Im Kern steht eine konfigurierbare Feldzuordnung für mehr als 50 Widget-Komponententypen, in der jede Komponente angibt, welche ihrer Parameter übersetzbaren Text tragen – ausgedrückt als Pfade in Punktnotation wie list.title, tabs.description oder button_1.sub_line. Eine rekursive Traversierungs-Engine löst diese Pfade durch verschachtelte Objekte und Arrays beliebiger Tiefe auf, sodass das Werkzeug Text in sich wiederholenden Listenelementen ebenso zuverlässig erreicht wie Felder auf oberster Ebene. SEO-Werte auf Seitenebene (Meta-Titel und -Beschreibung) werden zusammen mit den Widget-Inhalten extrahiert.
Das JSON selbst wird als dynamisches Dokument behandelt und nicht als festes Datenmodell. Zurückgeschrieben werden ausschließlich die zugeordneten Textwerte – Widget-IDs, Struktur, Einstellungen, Reihenfolge und Medienverweise bleiben unangetastet, Byte für Byte. Das war die zentrale Entwurfsentscheidung: Das Werkzeug kann die Struktur einer Seite physisch nicht beschädigen.
So funktioniert es
- Schritt eins – der Redakteur wählt eine Seiten-JSON-Datei aus. Das Werkzeug erzeugt eine Excel-Arbeitsmappe, die jede übersetzbare Zeichenfolge auflistet, mit Spalten für Widget-ID, Komponente, Parameterschlüssel, den Ausgangswert und eine leere Spalte Übersetzung. Jede Komponente und jedes Feld, das die Zuordnung nicht kennt, wird als Warnung gemeldet, statt stillschweigend übergangen zu werden.
- Schritt zwei – die ausgefüllte Arbeitsmappe wird ausgewählt, und das Werkzeug schreibt eine neue übersetzte JSON-Datei, bereit für den Reimport in das CMS. Die Dateinamen werden automatisch vom Original abgeleitet, sodass die Zuordnung zwischen Quelle, Tabelle und Ausgabe nie auseinanderlaufen kann.
Was wir geliefert haben
- Eine Desktop-Anwendung mit zwei Schaltflächen, nutzbar von Marketing- und Lokalisierungsmitarbeitern ohne Beteiligung von Entwicklern und ohne Kontakt mit rohem JSON
- Eine Feldzuordnung für 50+ Widget-Komponenten, erweiterbar um neue Komponenten durch einen einzigen Konfigurationseintrag
- Rekursive Pfadauflösung durch beliebig verschachtelte Objekte und Arrays
- Excel-Export/-Import als primäres Übersetzerformat, dazu XLIFF-1.2-Export für professionelle Übersetzungsagenturen und CAT-Tools
- Ein Warnungsbericht, der nicht zugeordnete Komponenten und fehlende Felder vor Beginn der Übersetzung sichtbar macht statt danach
- Nicht destruktives Zurückschreiben, das die Integrität der Seitenstruktur garantiert
Das Ergebnis
Die Übersetzung einer Seite wurde von einer manuellen Entwickleraufgabe zu einem Vorgang mit zwei Klicks. Inhalte lassen sich jetzt in einem Standardformat, mit dem externe Übersetzer und Agenturen ohnehin arbeiten, an sie herausgeben und wieder in die Website zurückführen, ohne dass jemand das zugrunde liegende JSON anfassen muss – womit sowohl der Engpass als auch das Risiko entfällt, Live-Seiten zu zerstören. Wächst die Komponentenbibliothek der Website, wächst das Werkzeug über Konfiguration statt über Code mit.
Technologien
C#
.NET 8
.NET 9- Windows Forms
- Newtonsoft.Json
EPPlus- XLIFF 1.2
Excel automation