XLIFF

Notitie

Weblate ondersteunt momenteel XLIFF 1.2. XLIFF 2.0 wordt niet ondersteund en is niet achterwaarts compatibel met XLIFF 1.2.

Op XML gebaseerde indeling gemaakt om vertaalbestanden te standaardiseren, maar uiteindelijk is het een van de vele standaarden, op dit gebied.

XML Localization Interchange File Format (XLIFF) wordt gewoonlijk gebruikt als tweetalig, maar Weblate ondersteunt het ook als eentalig.

Weblate ondersteund XLIFF in verscheidene varianten:

XLIFF 1.2-vertaalbestand

Eenvoudig XLIFF-bestand waarbij de inhoud van de elementen is opgeslagen als platte tekst (alle XML-elementen zijn geëscapet).

XLIFF 1.2 met ondersteuning voor tijdelijke aanduidingen

Standaard XLIFF ondersteunt plaatsvervangers en andere elementen voor XML.

XLIFF 1.2 met gettext-extensies

XLIFF verrijkt met XLIFF 1.2 Representation Guide for Gettext PO om meervouden te ondersteunen.

Statussen voor vertalingen

Het attribuut state in het bestand wordt gedeeltelijk verwerkt en verwezen naar de status “Bewerken nodig” in Weblate (de volgende statussen worden gebruikt om de tekenreeks te vlaggen als het bewerken nodig heeft als er een doel aanwezig is: new, needs-translation, needs-adaptation, needs-l10n). Zou het attribuut state ontbreken, dan wordt een tekenreeks beschouwd als vertaald zodra er een element <target> bestaat.

Als de vertaling approved="yes" heeft, zal het ook in Weblate worden geïmporteerd als “Goedgekeurd”, alles wat anders is zal worden geïmporteerd als “Wachten op beoordeling” (wat overeenkomt met de specificatie van XLIFF).

Bij het opslaan zal Weblate deze attributen niet toevoegen, tenzij noodzakelijk:

  • Het attribuut state wordt alleen toegevoegd in het geval de tekenreeks is gemarkeerd als Bewerken nodig.

  • Het attribuut approved wordt alleen toegevoegd in het geval dat de tekenreeks is beoordeeld.

  • In andere gevallen worden de attributen niet toegevoegd, maar zij worden bijgewerkt als zij aanwezig zijn.

Dat betekent dat bij het gebruiken van de indeling XLIFF, sterk wordt aanbevolen om het proces van beoordelen van Weblate in te schakelen, om de status Goedgekeurd van tekenreeksen te kunnen zien en te wijzigen.

Soortgelijk bij het importeren van dergelijke bestanden (in de vorm uploaden), zou u Importeren als vertaald moeten kiezen onder Verwerken van tekenreeksen Bewerken nodig.

Witruimte en nieuwe regels (newlines) in XLIFF

Tussen algemene typen of aantallen witruimte wordt in indelingen van XML geen verschil gemaakt. Als u ze wilt behouden moet u de vlag xml:space="preserve" toevoegen aan de tekenreeks.

Bijvoorbeeld:

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

Vlaggen voor vertalingen specificeren

U kunt aanvullende vlaggen voor vertalingen specificeren (bekijk Gedrag aanpassen met vlaggen) door het attribuut weblate-flags te gebruiken. Weblate begrijpt ook de attributen maxwidth en font uit de specificatie van XLIFF:

<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>

Het attribuut font wordt geparset voor de familie van het lettertype, grootte en gewicht, het voorbeeld hierboven laat dat allemaal zien, hoewel alleen de familie van het lettertype vereist is. Elke witruimte in de familie van het lettertype wordt geconverteerd naar underscore, dus Source Sans Pro wordt Source_Sans_Pro, onthoud dat bij het benoemen van de groep lettertype (bekijk Lettertypen beheren).

Sleutels tekenreeks

Weblate identificeert de eenheden in het XLIFF-bestand met het attribuut resname in het geval dat aanwezig is en valt terug op id (samen met de tag file indien aanwezig).

Het attribuut resname wordt geacht ene mensvriendelijke identificatie te zijn van de eenheid die het meer geschikt maakt voor Weblate om weer te geven in plaats van id. De resname moet uniek zijn in het gehele XLIFF-bestand. Dat is vereist door Weblate en wordt niet afgedekt door de standaard van XLIFF - het plaatst geen beperking uniek op dit attribuut.

Voorbeeldbestanden

Voorbeeld XLIFF-bestand:

<?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-configuratie

Typisch Weblate Configuratie onderdeel voor tweetalige XLIFF

Bestandsmasker

localizations/*.xliff

Enkeltalig basistaalbestand

Leeg

Sjabloon voor nieuwe vertalingen

localizations/en-US.xliff

Bestandsformaat

XLIFF-vertaalbestand

Typisch Weblate Configuratie onderdeel voor eentalige XLIFF

Bestandsmasker

localizations/*.xliff

Enkeltalig basistaalbestand

localizations/en-US.xliff

Sjabloon voor nieuwe vertalingen

localizations/en-US.xliff

Bestandsformaat

XLIFF-vertaalbestand