XLIFF 1.1 a 1.2

Poznámka

XLIFF 2.0 je iný formát a nie je spätne kompatibilný s XLIFF 1.2.

Formát založený na XML vytvorený na štandardizáciu prekladových súborov, ale nakoniec je to jeden z mnohých štandardov v tejto oblasti.

XML Localization Interchange File Format (XLIFF) sa zvyčajne používa ako dvojjazyčný, ale Weblate ho podporuje aj ako jednojazyčný.

Weblate podporuje XLIFF v niekoľkých variantoch:

Prekladový súbor XLIFF 1.2

Štandardný súbor XLIFF. Spracovanie placeables je riadené parametrom Parametre formátu súboru xliff_placeables.

XLIFF 1.2 s rozšíreniami gettext

XLIFF obohatený o Sprievodcu reprezentáciou XLIFF 1.2 pre Gettext PO na podporu množných čísiel.

XLIFF 1.2 s rozšíreniami Apple

XLIFF obohatený spoločnosťou Apple na podporu množných čísiel.

Stavy prekladu

Atribút state v súbore je čiastočne spracovaný a mapovaný na stav „Potrebuje úpravu“ vo Weblate (nasledujúce stavy sa používajú na označenie reťazca ako vyžadujúceho úpravu, ak je prítomný cieľ: new, needs-translation, needs-adaptation, needs-l10n). Ak atribút state chýba, reťazec sa považuje za preložený, len čo existuje prvok <target>.

Ak má prekladový reťazec approved="yes", importuje sa do Weblate ako „Schválené“, všetko ostatné sa importuje ako „Čaká na kontrolu“ (čo zodpovedá špecifikácii XLIFF).

Pri ukladaní Weblate tieto atribúty nepridáva, pokiaľ nie sú potrebné:

  • Atribút state sa pridá iba v prípade, že je reťazec označený ako vyžadujúci úpravu.

  • Atribút approved sa pridá iba v prípade, že bol reťazec skontrolovaný.

  • Iné prípady atribúty nepridávajú, ale aktualizujú ich, ak sú prítomné.

To znamená, že pri používaní formátu XLIFF sa dôrazne odporúča zapnúť proces kontroly Weblate, aby bolo možné vidieť a meniť schválený stav reťazcov.

Podobne pri importe takýchto súborov (vo formulári na nahratie) by ste mali vybrať Importovať ako preložené pod Spracovanie reťazcov vyžadujúcich úpravu.

Medzery a nové riadky v XLIFF

Weblate riadi, ako sa spracúvajú medzery pomocou Parametre formátu súboru xml_whitespace_handling pre komponenty XLIFF:

  • Nasledovať xml:space — rešpektovať atribúty xml:space v súbore (a predvolené nastavenie XLIFF, keď atribút chýba).

  • Vždy zachovať — zachovať všetky medzery a nastaviť xml:space="preserve" na jednotkách (predvolené nastavenie Weblate pre nové jednotky).

  • Vždy normalizovať — zbaliť medzery, aj keď súbor nastaví xml:space="preserve".

Ak chcete zachovať nové riadky alebo okolité medzery pri nasledovaní xml:space, označte reťazec ako 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 v XLIFF

Weblate riadi, ako sa spracúvajú prvky XML vo vnútri obsahu XLIFF pomocou Parametre formátu súboru xliff_placeables:

  • Obyčajný text — escapovať prvky XML v obsahu.

  • Placeables — zachovať placeables a ďalšie prvky XML (predvolené). Značky sa potom v editore zobrazujú ako zástupné symboly.

Špecifikácia prekladových príznakov

Môžete špecifikovať ďalšie prekladové príznaky (pozri Prispôsobenie správania pomocou príznakov) pomocou atribútu weblate-flags. Weblate tiež rozumie atribútom maxwidth a font zo špecifikácie 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>

Atribút font sa analyzuje na rodinu písma, veľkosť a hrúbku, vyššie uvedený príklad ukazuje všetko, hoci vyžaduje sa iba rodina písma. Akékoľvek medzery v rodine písma sa prevedú na podčiarkovník, takže Source Sans Pro sa stane Source_Sans_Pro, majte to na pamäti pri pomenovávaní skupiny písiem (pozri Správa písiem).

Kľúče reťazcov

Weblate identifikuje jednotky v súbore XLIFF pomocou atribútu resname, ak je prítomný, a v opačnom prípade sa vráti k id (spolu so značkou file, ak je prítomná).

Atribút resname má byť ľahko čitateľným identifikátorom jednotky, čo ho robí vhodnejším na zobrazenie vo Weblate namiesto id. resname musí byť jedinečný v celom súbore XLIFF. Toto vyžaduje Weblate a nie je to pokryté štandardom XLIFF – ten neukladá žiadne obmedzenia jedinečnosti na tento atribút.

Príkladové súbory

Príklad súboru XLIFF:

<?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>
Podporované funkcie

Prípony súborov

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

Jazykovosť ⓘ

Jednojazyčné aj dvojjazyčné

Podporuje množné číslo ⓘ

Yes

Podporuje popisy ⓘ

Yes

Podporuje vysvetlenie ⓘ

No

Podporuje kontext ⓘ

Yes

Podporuje umiestnenie ⓘ

Yes

Podporuje príznaky ⓘ

Yes

Ďalšie stavy ⓘ

Schválené, Potrebuje úpravu

Identifikátor API

apple-xliff, poxliff, xliff

Podporuje reťazce iba na čítanie ⓘ

Yes

Podporuje odstraňovanie zastaraných reťazcov ⓘ

No

Konfigurácia Weblate

Typická Konfigurácia komponentu Weblate pre dvojjazyčný XLIFF

Maska súboru

localizations/*.xliff

Jednojazyčný súbor základného jazyka

Prázdne

Šablóna pre nové preklady

localizations/en-US.xliff

Formát súboru

Prekladový súbor XLIFF

Typická Konfigurácia komponentu Weblate pre jednojazyčný XLIFF

Maska súboru

localizations/*.xliff

Jednojazyčný súbor základného jazyka

localizations/en-US.xliff

Šablóna pre nové preklady

localizations/en-US.xliff

Formát súboru

Prekladový súbor XLIFF