XLIFF

Bemerkung

Weblate unterstützt derzeit XLIFF 1.2. XLIFF 2.0 wird nicht unterstützt und ist 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

Einfache XLIFF-Datei, in welcher der Inhalt der Elemente als reiner Text gespeichert ist (alle XML-Elemente sind maskiert).

XLIFF 1.2 mit Platzhalterunterstützung

Standard-XLIFF mit Platzhalterunterstützung und anderen XML-Elementen.

XLIFF 1.2 mit Gettext-Erweiterungen

XLIFF angereichert durch XLIFF 1.2 Representation Guide for Gettext PO 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 wählen.

Siehe auch

Dedizierte Prüfer

Leerzeichen und Zeilenumbrüche in XLIFF

Im Allgemeinen wird bei XML-Formaten nicht zwischen verschiedenen Arten oder Mengen von Leerzeichen unterschieden. Wenn Sie diese beibehalten wollen, müssen Sie die Markierung xml:space="preserve" an die Zeichenkette anhängen.

Zum Beispiel:

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

Angabe von Übersetzungsmarkierungen

Sie können zusätzliche Übersetzungsmarkierungen (siehe Anpassen des Verhaltens mit Markierungen) 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 Schriftgruppe (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>

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