XLIFF 1.1 och 1.2

Observera

XLIFF 2.0 är ett annat format och är inte bakåtkompatibelt med XLIFF 1.2.

XML-baserat format som skapats för att standardisera översättningsfiler, men i slutändan är det en av många standarder inom detta område.

XML Localization Interchange File Format (XLIFF) används vanligtvis som tvåspråkigt, men Weblate stöder det även som enspråkigt.

Weblate stöder XLIFF i flera varianter:

XLIFF 1.2 översättningsfil

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

XLIFF 1.2 med gettext-tillägg

XLIFF berikad med XLIFF 1.2 Representation Guide for Gettext PO för att stödja pluralformer.

XLIFF 1.2 with Apple extensions

XLIFF enriched by Apple to support plurals.

Översättningsstatus

Attributet state i filen bearbetas delvis och mappas till statusen ”Behöver redigeras” i Weblate (följande statusar används för att markera strängen som behöver redigeras om det finns ett mål: new, needs-translation, needs-adaptation, needs-l10n). Om attributet state saknas betraktas en sträng som översatt så snart ett <target>-element finns.

Om översättningssträngen har approved="yes", kommer den också att importeras till Weblate som ”Godkänd”, allt annat kommer att importeras som ”Väntar på granskning” (vilket överensstämmer med XLIFF-specifikationen).

När du sparar lägger Weblate inte till dessa attribut om det inte är nödvändigt:

  • Attributet state läggs endast till om strängen är markerad som behöver redigering.

  • Attributet godkänt läggs endast till om strängen har granskats.

  • I andra fall läggs attributen inte till, men de uppdateras om de finns.

Det innebär att när du använder XLIFF-formatet rekommenderas det starkt att aktivera Weblate-granskningsprocessen för att kunna se och ändra strängarnas godkända status.

På samma sätt bör du vid import av sådana filer (i uppladdningsformuläret) välja Importera som översatt under Bearbetning av strängar som behöver redigeras.

Mellanslag och radbrytningar i XLIFF

Weblate controls how whitespaces are handled with the xml_whitespace_handling Filformatsparametrar 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>

Placeables in XLIFF

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

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

Ange översättningsflaggor

Du kan ange ytterligare översättningsflaggor (se Anpassa beteende med hjälp av flaggor) genom att använda attributet weblate-flags. Weblate förstår också attributen maxwidth och font från XLIFF-specifikationen:

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

Attributet font analyseras för teckensnittsfamilj, storlek och vikt. Ovanstående exempel visar allt detta, även om endast teckensnittsfamiljen är obligatorisk. Alla blanktecken i teckensnittsfamiljen konverteras till understreck, så Source Sans Pro blir Source_Sans_Pro. Tänk på detta när du namnger teckensnittsgruppen (se Hantera teckensnitt).

Strängnycklar

Weblate identifierar enheterna i XLIFF-filen med hjälp av attributet resname om det finns, och faller tillbaka på id (tillsammans med taggen file om den finns).

Attributet resname ska vara en användarvänlig identifierare för enheten, vilket gör det mer lämpligt för Weblate att visa istället för id. resname måste vara unikt i hela XLIFF-filen. Detta krävs av Weblate och omfattas inte av XLIFF-standarden – den ställer inga krav på att detta attribut ska vara unikt.

Exempel-filer

Exempel på XLIFF-fil:

<?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>
Stödda funktioner

File extensions

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

Språkkunskaper ⓘ

Both monolingual and bilingual

Supports plural ⓘ

Yes

Supports descriptions ⓘ

Yes

Supports explanation ⓘ

No

Supports context ⓘ

Yes

Supports location ⓘ

Yes

Supports flags ⓘ

Yes

Additional states ⓘ

Approved, Needs editing

API identifier

apple-xliff, poxliff, xliff

Supports read-only strings ⓘ

Yes

Supports removing obsolete strings ⓘ

No

Weblate-konfiguration

Typisk Weblate Komponentkonfiguration för tvåspråkig XLIFF

Filmask

localizations/*.xliff

Enspråkig basspråkfil

Tom

Mall för nya översättningar

localizations/en-US.xliff

Filformat

XLIFF-översättningsfil

Typisk Weblate Komponentkonfiguration för enspråkig XLIFF

Filmask

localizations/*.xliff

Enspråkig basspråkfil

localizations/en-US.xliff

Mall för nya översättningar

localizations/en-US.xliff

Filformat

XLIFF-översättningsfil