XLIFF

Notă

Weblate currently supports XLIFF 1.2. XLIFF 2.0 is not supported 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.

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

Atributul resname ar trebui să fie un identificator prietenos pentru oameni al unității, ceea ce îl face mai potrivit pentru afișarea în Weblate în loc de id. Numele „Resname” trebuie să fie unic în întregul fișier XLIFF. Acest lucru este cerut de Weblate și nu este reglementat de standardul XLIFF - acesta nu impune nicio restricție de unicitate pentru acest atribut.

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>

Configurație Weblate

Tipic Weblate Configurația componentei pentru XLIFF bilingv

Mască de fișier

localizări/*.xliff

Fișier de limbă de bază monolingvă

Gol

Șablon pentru traduceri noi

localizări/en-US.xliff

Format fișier

XLIFF Fișier de traducere

Tipic Weblate Configurația componentei pentru XLIFF monolingv

Mască de fișier

localizări/*.xliff

Fișier de limbă de bază monolingvă

localizări/en-US.xliff

Șablon pentru traduceri noi

localizări/en-US.xliff

Format fișier

XLIFF Fișier de traducere