XLIFF 1.1 and 1.2

Notă

XLIFF 2.0 is a different format and is not backwards compatible with XLIFF 1.2.

Format bazat pe XML creat pentru a standardiza fișierele de traducere, dar în cele din urmă este unul dintre multele standarde, în acest domeniu.

XML Localization Interchange File Format (XLIFF) este de obicei folosit ca bilingv, dar Weblate îl acceptă și ca monolingv.

Weblate acceptă XLIFF în mai multe variante:

XLIFF 1.2 translation file

Fișier XLIFF simplu în care conținutul elementelor este stocat sub formă de text simplu (toate elementele XML sunt evadate).

XLIFF 1.2 with placeables support

XLIFF standard, care acceptă elemente de tip „placeables” și alte elemente XML.

XLIFF 1.2 with gettext extensions

XLIFF îmbogățit de XLIFF 1.2 Representation Guide for Gettext PO pentru a suporta pluralul.

XLIFF 1.2 with Apple extensions

XLIFF enriched by Apple to support plurals.

Statele de traducere

Atributul state din fișier este parțial procesat și mapat la starea „Needs edit” din Weblate (următoarele stări sunt folosite pentru a marca șirul ca necesitând editare dacă există o țintă prezentă: new, needs-translation, needs-adaptation, needs-l10n). În cazul în care atributul state lipsește, un șir este considerat tradus de îndată ce există un element <target>.

Dacă șirul de traducere are approved="yes", acesta va fi, de asemenea, importat în Weblate ca „Approved”, orice altceva va fi importat ca „Waiting for review” (care corespunde specificației XLIFF).

În timpul salvării, Weblate nu adaugă aceste atribute decât dacă este necesar:

  • Atributul state este adăugat numai în cazul în care șirul este marcat ca necesitând editare.

  • Atributul approved se adaugă numai în cazul în care șirul a fost revizuit.

  • În alte cazuri, atributele nu sunt adăugate, dar sunt actualizate în cazul în care sunt prezente.

Aceasta înseamnă că, atunci când se utilizează formatul XLIFF, se recomandă cu tărie activarea procesului de revizuire Weblate, pentru a vedea și modifica starea aprobată a șirurilor de caractere.

În mod similar, atunci când importați astfel de fișiere (în formularul de încărcare), trebuie să alegeți Import as translated sub Procesarea șirurilor de caractere care necesită editare.

Spațiu alb și linii noi în XLIFF

În general, în formatele XML nu se fac diferențe între tipurile sau cantitățile de spații albe. Dacă doriți să îl păstrați, trebuie să adăugați steagul xml:space="preserve" la șirul de caractere.

De exemplu:

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

Specificarea indicatoarelor de traducere

Puteți specifica indicatori de traducere suplimentari (a se vedea Personalizarea comportamentului cu ajutorul stegulețelor) utilizând atributul weblate-flags. Weblate înțelege, de asemenea, atributele maxwidth și font din specificația 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>

Atributul font este analizat pentru familia, dimensiunea și greutatea fontului, exemplul de mai sus arată toate acestea, deși este necesară doar familia fontului. Orice spațiu în alb din familia de fonturi este convertit în caractere de subliniere, astfel încât Source Sans Pro devine Source_Sans_Pro, vă rugăm să țineți cont de acest lucru atunci când numiți grupul de fonturi (a se vedea Gestionarea fonturilor).

Chei de șiruri

Weblate identifică unitățile din fișierul XLIFF prin atributul resname în cazul în care acesta este prezent și revine la id (împreună cu tag-ul file`, dacă este prezent).

The resname attribute is supposed to be human friendly identifier of the unit making it more suitable for Weblate to display instead of id. The resname has to be unique in the whole XLIFF file. This is required by Weblate and is not covered by the XLIFF standard - it does not put any uniqueness restrictions on this attribute.

Example files

Example XLIFF file:

<?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>
Supported features

File extensions

.sdlxliff, .xlf, .xliff

Linguality

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, plainxliff, poxliff, xliff

Supports read-only strings

Yes

Configurație Weblate

Tipic Weblate Configurația componentei pentru XLIFF bilingv

Mască de fișier

localizations/*.xliff

Fișier de limbă de bază monolingvă

Gol

Șablon pentru traduceri noi

localizations/en-US.xliff

Format fișier

XLIFF Fișier de traducere

Tipic Weblate Configurația componentei pentru XLIFF monolingv

Mască de fișier

localizations/*.xliff

Fișier de limbă de bază monolingvă

localizations/en-US.xliff

Șablon pentru traduceri noi

localizations/en-US.xliff

Format fișier

XLIFF Fișier de traducere