XLIFF 1.1 und 1.2

Bemerkung

XLIFF 2.0 ist ein anderes Format und nicht rückwärtskompatibel mit XLIFF 1.2.

XML-basiertes Format, das zur Vereinheitlichung von Übersetzungsdateien entwickelt wurde, aber letztlich nur einer von vielen Standards in diesem Bereich ist.

XML Localization Interchange File Format (XLIFF) wird normalerweise zweisprachig verwendet, aber Weblate unterstützt es auch einsprachig.

Weblate unterstützt XLIFF in mehreren Varianten:

XLIFF-1.2-Übersetzungsdatei

Standard XLIFF file. Placeables handling is controlled by the xliff_placeables Dateiformatparameter.

XLIFF 1.2 mit Gettext-Erweiterungen

XLIFF angereichert durch XLIFF-1.2-Darstellungsleitfaden für Gettext PO zur Unterstützung von Pluralformen.

XLIFF 1.2 mit Apple-Erweiterungen

XLIFF angereichert von Apple zur Unterstützung von Pluralformen.

Übersetzungsstatus

Das Attribut state in der Datei wird teilweise verarbeitet und in Weblate dem Status „Bearbeitungsbedürftig“ zugeordnet (die folgenden Status werden verwendet, um die Zeichenkette als bearbeitungsbedürftig zu markieren, wenn ein Ziel vorhanden ist: new, needs-translation, needs-adaptation, needs-l10n). Fehlt das Attribut state, wird eine Zeichenkette als übersetzt betrachtet, sobald ein <target>-Element vorhanden ist.

Wenn die Übersetzungszeichenkette approved="yes" hat, wird sie auch in Weblate als „Genehmigt“ importiert, alles andere wird als „Überprüfung ausstehend“ importiert (dies entspricht der XLIFF-Spezifikation).

Beim Speichern fügt Weblate diese Attribute nur bei Bedarf hinzu:

  • Das Attribut state wird nur hinzugefügt, wenn die Zeichenkette als bearbeitungsbedürftig markiert ist.

  • Das Attribut approved wird nur hinzugefügt, wenn die Zeichenkette genehmigt wurde.

  • In anderen Fällen werden die Attribute nicht hinzugefügt, aber sie werden aktualisiert, falls sie vorhanden sind.

Das bedeutet, dass beim Verwenden des XLIFF-Formats dringend empfohlen wird, den Weblate-Überprüfungsprozess zu aktivieren, um den genehmigten Status von Zeichenketten zu sehen und zu ändern.

Ebenso sollten Sie beim Importieren solcher Dateien (im Upload-Formular) unter Verarbeitung von „Bearbeitungsbedürftig“-Zeichenketten die Option Als übersetzt importieren auswählen.

Siehe auch

Dedizierte Prüfer

Leerzeichen und Zeilenumbrüche in XLIFF

Weblate controls how whitespaces are handled with the xml_whitespace_handling Dateiformatparameter for XLIFF components:

  • Follow xml:space — honor xml:space attributes in the file (and the XLIFF default when the attribute is missing).

  • Always preserve — keep all whitespace and set xml:space="preserve" on units (Weblate’s default for new units).

  • Always normalize — collapse whitespace even when the file sets xml:space="preserve".

To keep newlines or surrounding spaces when following xml:space, mark the string with xml:space="preserve":

    <trans-unit id="10" approved="yes">
        <source xml:space="preserve">hello</source>
        <target xml:space="preserve">Hello, world!
</target>
    </trans-unit>

Platzhalter in XLIFF

Weblate controls how XML elements inside XLIFF content are handled with the xliff_placeables Dateiformatparameter:

  • Plain text — escape XML elements in the content.

  • Placeables — preserve placeables and other XML elements (the default). Tags then appear as placeholders in the editor.

Angabe von Übersetzungsmarkierungen

Sie können zusätzliche Übersetzungsmarkierungen (siehe Verhalten mit Markierungen anpassen) angeben, indem Sie das Attribut weblate-flags verwenden. Weblate versteht auch die Attribute maxwidth und font der XLIFF-Spezifikation:

<trans-unit id="10" maxwidth="100" size-unit="pixel" font="ubuntu;22;bold">
   <source>Hello %s</source>
</trans-unit>
<trans-unit id="20" maxwidth="100" size-unit="char" weblate-flags="c-format">
   <source>Hello %s</source>
</trans-unit>

Das Attribut font wird nach Schriftfamilie, -größe und -gewicht analysiert, das obige Beispiel zeigt all das, obwohl nur die Schriftfamilie erforderlich ist. Jedes Leerzeichen in der Schriftfamilie wird in einen Unterstrich umgewandelt, so wird Source Sans Pro zu Source_Sans_Pro, bitte beachten Sie dies beim Benennen der Schriftartgruppe (siehe Schriftarten verwalten).

Zeichenkettenschlüssel

Weblate identifiziert die Einheiten in der XLIFF-Datei anhand des Attributs resname, falls es vorhanden ist, und greift auf id zurück (zusammen mit dem Tag file, falls vorhanden).

Das Attribut resname soll ein benutzerfreundlicher Bezeichner für die Einheit sein, so dass es für Weblate besser geeignet ist als id. resname muss in der gesamten XLIFF-Datei eindeutig sein. Dies wird von Weblate gefordert und ist nicht durch den XLIFF-Standard abgedeckt – es gibt keine Einschränkungen für die Eindeutigkeit dieses Attributs.

Beispieldateien

XLIFF-Beispieldatei:

<?xml version='1.0' encoding='UTF-8'?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1">
    <file>
        <body>
            <trans-unit weblate-flags="c-format, max-length:100">
                <source xml:space="preserve">Hello, world!
</source>
            </trans-unit>
            <trans-unit>
                <source xml:space="preserve">Orangutan has %d banana.
</source>
            </trans-unit>
            <trans-unit>
                <source xml:space="preserve">Try Weblate at &lt;https://demo.weblate.org/&gt;!
</source>
            </trans-unit>
            <trans-unit>
                <source>Thank you for using Weblate.</source>
            </trans-unit>
        </body>
    </file>
</xliff>
Unterstützte Funktionen

Dateiendungen

.mxliff, .poxliff, .sdlxliff, .xlf, .xliff

Linguistik: ⓘ

Sowohl einsprachig als auch zweisprachig

Unterstützt Pluralformen ⓘ

Yes

Unterstützt Beschreibungen ⓘ

Yes

Unterstützt Erklärung ⓘ

No

Unterstützt Kontext ⓘ

Yes

Unterstützt Ort ⓘ

Yes

Unterstützt Markierungen ⓘ

Yes

Zusätzliche Status ⓘ

Genehmigt, Bearbeitungsbedürftig

API-Kennung

apple-xliff, poxliff, xliff

Unterstützt schreibgeschützte Zeichenketten ⓘ

Yes

Unterstützt das Entfernen veralteter Zeichenketten ⓘ

No

Weblate-Konfiguration

Typische Weblate-Komponentenkonfiguration für zweisprachiges XLIFF

Dateimaske

localizations/*.xliff

Einsprachige Basissprachdatei

Leer

Vorlage für neue Übersetzungen

localizations/en-US.xliff

Dateiformat

XLIFF-Übersetzungsdatei

Typische Weblate-Komponentenkonfiguration für einsprachiges XLIFF

Dateimaske

localizations/*.xliff

Einsprachige Basissprachdatei

localizations/en-US.xliff

Vorlage für neue Übersetzungen

localizations/en-US.xliff

Dateiformat

XLIFF-Übersetzungsdatei