WordPress WPML XLIFF in Trados Studio übersetzen

WordPress WPML XLIFF in Trados Studio übersetzen

WPML SDL Trados Project-Settings Screenshot

WPML (WordPress MultiLingual) ist das wohl bekannteste Übersetzungs-Plugin für das CMS WordPress. Es kann konfiguriert werden, um XLIFF-Dateien für professionelle Übersetzer:innen auszuleiten, allerdings packt es dabei alle Content-Elemente in jeweils einen CDATA-Block und segmentiert nichts von alleine. Wenn man solche XLIFF-Dateien im (immer noch!) führenden CAT-Tool RWS (früher: SDL) Trados Studio zu laden versucht, werden sie vermutlich zuerst mit dem normalen XML-Dateifilter geladen und man steht einer unübersichtlichen “Tag-Suppe” gegenüber – und wenn man die Dateien exportiert, wird man nach dem Import in WordPress ein Kuddelmuddel mit nicht interpretierten HTML-Entities vorfinden. Standardmäßig ist Trados Studio also vollkommen unbenutzbar für WPML-Übersetzungen!

Zum Glück kann man Trados aber dazu bringen, sich zu benehmen.

Nur eine Sprachkombination pro Projekt

Im Gegensatz zur gewohnten Arbeitsweise muss man zunächst für jede Sprachkombination ein eigenes Trados-Projekt anlegen, weil der benutzte Dateifilter nicht mit mehreren Sprachen in einem Projekt zurechtkommt. Also: Ein Projekt für Deutsch > Englisch, ein anderes für Deutsch > Französich, etc.

Die richtigen Projekteinstellungen

Die richtigen Projekteinstellungen sind das A und O, um einen sauberen XLIFF-Workflow mit Trados Studio zu gewährleisten.

Dateitypen

Sorgen Sie zunächst dafür, dass der (relativ neue) Dateityp “Multilingual XML” direkt nach “SDL XLIFF” an zweiter Stelle der Liste der Dateitypen steht. Je weiter oben ein Dateityp steht, desto höher ist die Priorität bei der Dateityp-Zuordnung, wenn Sie neue Dateien hinzufügen.

Entfernen Sie für ein WPML-Projekt am besten alle Häkchen von nicht benötigten Dateitypen, um falsche Dateizuordnungen zu verhindern und die Ladezeit ein wenig zu beschleunigen. Ich habe zusätzlich zu den zwei oben genannten lediglich die MS Office- und LibreOffice-Dateitypen, HTML5, PDF und TXT aktiv gelassen, falls einmal zusätzliche Download-Inhalte übersetzt werden sollen.

Klappen Sie nun die Einstellungen für den “Multilingual XML“-Dateityp auf.

Dateityp-Informationen

Die Dateierweiterung sollte die Dateiendungen .xml;.xliff matchen.

Language Mapping

Hier kommen wir zu dem Punkt, der mehrere Sprachen innerhalb eines Trados-Projekts verhindert: WPML legt die Quellsprache und Zielsprache einer XLIFF-Datei lediglich zu Beginn der Datei im XML-Header fest und versieht in Folge die XLIFF trans-unit-Blöcke nur mit den beiden Tags source und target, die keinen separaten Hinweis auf Quell- und Zielsprache geben. Deshalb kann im Language Mapping von Trados nur jeweils eine Sprache zugeordnet werden:

Tragen Sie bei Languages Root den XPath /xliff/file/body/trans-unit ein. Unterhalb dieser XML-Node wird der Filter nach übersetzbaren Segmenten suchen.

Fügen Sie nun die Quellsprache (z. B. Deutsch) mit der Location source hinzu und danach die Zielsprache (z. B. Französisch) mit der Location target.

Anmerkung: Die XLIFF-Spezifikation würde es prinzipiell erlauben, mehrere Zielsprachen in der .XLIFF unterzubringen, und zwar so:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file original="123-0000000abcde987656zyxwvu1234abc" source-language="de" target-language="en" datatype="plaintext">
[…]
<trans-unit extradata="package-string-123-4567" resname="package-string-123-4567" restype="string" datatype="html" id="package-string-123-4567">
        <source><![CDATA[DeFrEnT Christopher Köbel in Deutsch]]></source>
        <target><![CDATA[DeFrEnT Christopher Köbel in English]]></target>
        <alt-trans>
          <target xml:lang="fr"><![CDATA[DeFrEnT Christopher Köbel en Français]]></target>
        </alt-trans>
      </trans-unit>

In diesem Fall könnte WPML mehrere Sprachen auf einmal in einem XLIFF exportieren und in Trados könnte man zusätzliche Sprachen z. B. per alt-trans/target[@xml:lang='fr'] statt nur target selektieren.

Embedded Content

Aktivieren Sie die Verarbeitung von eingebetteten Inhalten, indem Sie das Häkchen setzen und den Prozessor von Embedded Content Plaintext auf HTML Embedded Content 5 umstellen (er sollte natürlich eigentlich “HTML5 Embedded Content” heißen, aber hey!).

Belassen Sie die untere Einstellung bei “Process embedded content found in: CDATA sections“.

Placeholders

Aktivieren Sie die Verarbeitung von Platzhaltern, diese wandeln nicht zu übersetzende Zeichenketten in platzierbare Tags um. Für eine Website, die mit dem DIVI-Theme läuft und einen Shortcode für den E-Mail-Obfuscator nutzt, habe ich der vorhandenen Liste z. B. zwei Einträge hinzugefügt:

[\/?et_pb_(.*?)] für “DIVI and WPML tag soup” (fängt [et_pb_something]xyz[/et_pb_something] ab)
\[\/?email\] für “E-Mail Obfuscator tags” (fängt [email]info@example.com[/email] ab)

Entities

Setzen Sie ein Häkchen bei Numerische Entity-Referenzen in Inline-Platzhalter-Tags konvertieren.
Entfernen Sie das Häkchen bei Entity-Konvertierung aktivieren.
Entfernen Sie das Häkchen bei Konvertierung in gesperrtem Inhalt überspringen.

Dieser Punkt hat mich, zusammen mit seinem Zwilling im HTML5-Prozessor (siehe unten), viele graue Haare gekostet. Wenn Sie Trados Entities konvertieren lassen, fliegen die am Ende im exportierten XLIFF herum. Am Ende werden sie genau so von WPML übernommen: Ihre Webseite ist dann voll von escapeten HTML-Tags und -Entities.

Quick Insert

Hier sind keine Angaben nötig.

Verarbeitung eingebetteter Inhalte: Der HTML5-Prozessor

In den Trados Projekteinstellungen finden Sie den Punkt Verarbeitung eingebetteter Inhalte → HTML5. Die Basisseite und die erste Unterseite Parser können Sie unberührt lassen.

Writer

Ändern Sie die Einstellungen zu

  • Unicode UTF-8 Byte Order Mark (BOM) … Beibehalten; nicht hinzufügen, wenn nicht in Ausgangsdatei vorhanden (1. Eintrag)
  • Behandlung des Attributwerts xml:lang … nicht verändern (3. Eintrag)
  • META-Charset-Tags … Charset-Wert nur anpassen, wenn <META>-Tag vorhanden (2. Eintrag)

Entity-Konvertierung

Hier kommt der zweite Fallstrick. Stellen Sie zunächst bei aktivierter Konvertierung (Häkchen oben) sicher, dass in der Liste Häkchen bei Westeuropa (ISOLAT 1), HTML Spezial (HTMLSpecial) und HTML Symbole (HTMLSymbol) gesetzt sind … und deaktivieren Sie dann oben die Entity-Konvertierung.

Es ergibt nicht sonderlich viel Sinn, erst Einzeleinträge anwählen und dann die gesamte Konvertierung abwählen zu müssen, aber das ist die Art und Weise, in der ich am Ende keine ungewollten HTML-Entities in der exportierten XLIFF-Datei hatte.

Leerzeichen

Setzen Sie Leerzeichen auf Immer normalisieren, außer bei 'xml:preserve'. Sie können auch “Immer erhalten” verwenden, aber die Normalisierung entfernt überflüssige Leerzeichen und verkleinert so die Datei, ohne dass es am Ende einen sichtbaren Effekt hätte.

Die letzte Unterseite QuickInsert können Sie auch wieder unangetastet lassen.

Das Trados-Projekt fertig konfigurieren und arbeiten…

Konfigurieren Sie nun das WPML-Projekt in Trados nach Ihren Bedürfnissen fertig, indem Sie nach Bedarf Matchbereiche festlegen, Translation Memories und ggf. MT-Provider sowie Termbanken, Term-Provider und Autosuggest-Wörterbücher hinzufügen.

Fügen Sie dann die aus WordPress WPML exportierten XLIFF-Dateien mit der richtigen Sprachkombination zum Projekt hinzu und beginnen Sie zu arbeiten. Danach können Sie die XLIFFs aus Trados exportieren und in WordPress via WPML wieder importieren.

Ihre Übersetzungen sollten danach bereitstehen.

Viel Erfolg!
Christopher Köbel

Christopher Köbel (Portrait)
Christopher Köbel

Inhaber von DeFrEnT Christopher Köbel. Fachübersetzer für Deutsch, Französisch und Englisch für die Branchen IT, Web, Maschinen- und Anlagenbau, Kunststoffe, Industrie 4.0. Allgemein ermächtigter Übersetzer für Französisch und Englisch. Mitglied im Bundesverband der Dolmetscher und Übersetzer (BDÜ).

Leave a Reply