|
Přípony souborů |
.xlf, .xliff |
|
Rozšíření API |
xlf |
|
Import |
Ano |
|
Export |
Ano |
|
Podpora plurálových tvarů |
Ano |
|
Podpora pro popis |
Ano |
|
Možnosti formátu Tyto možnosti lze specifikovat při nahrání a/nebo Stáhnout souboru. V závislosti na metodě nahrát/Stáhnout (API, CLI, Repo sync atd.) je lze specifikovat v dotaz parametrech |
enclose_in_cdata include_translation_state indent_size indent_style ignore_source_translations ignore_target_translations export_key_id_as_resname export_key_name_hash_as_extradata override_file_language strip_placeholder_delimiters delimit_placeholders |
Nejpoužívanější formát souboru v překladatelském průmyslu. Lze jej vnímat jako zrcadlo zdrojového souboru, který rozkládá zdrojový obsah na různé segmenty uložené v tagách (např. <trans-unit>, <seg-source>).
XLIFF je založen na XML a podléhá základním konvencím XML, jako je validita a správná struktura. Před překladem vždy proveďte kontrolu integrity změnou přípony souboru z .xliff (.xlf) na .xml a jeho otevřením ve webovém prohlížeči. Pokud je soubor validní, zobrazí se dobře uspořádaná struktura dokumentu, v opačném případě bude buď nevykreslitelný, nebo se zobrazí chybová zpráva.
XLIFF byl aktualizován na XLIFF 2.0. Je podobný šířeji používanému XLIFF, ale jde o jiný formát souboru, který je obvykle s XLIFF nekompatibilní.
Xcode dokáže zabalit lokalizovatelné Strings do průmyslového standardního formátu XLIFF, který lze odeslat k lokalizaci pomocí Phrase.
Možnosti formátu
|
Identifikátor |
enclose_in_cdata |
|
Typ |
boolean |
|
Nahrát |
Ne |
|
Stáhnout |
Ano |
|
Výchozí |
false |
|
Popis |
Uzavře překlady obsahující html tagy do CDATA. Pokud je zakázáno, nepodporované HTML entity jsou nahrazeny svými dekódovanými hodnotami. Například:
|
|
Identifikátor |
include_translation_state |
|
Typ |
boolean |
|
Nahrát |
Ne |
|
Stáhnout |
Ano |
|
Výchozí |
false |
|
Popis |
Zahrnout stav překladů v cílovém kódu jazyka. Každý tag |
|
Identifikátor |
indent_size |
|
Typ |
integer |
|
Nahrát |
Ne |
|
Stáhnout |
Ano |
|
Výchozí |
4 |
|
Popis |
Určuje počet znaků odsazení |
|
Identifikátor |
indent_style |
|
Typ |
řetěz|ec |
|
Nahrát |
Ne |
|
Stáhnout |
Ano |
|
Výchozí |
Space |
|
Popis |
Určuje znak odsazení. Povolené hodnoty jsou |
|
Identifikátor |
ignore_source_translations |
|
Typ |
boolean |
|
Nahrání |
Ano |
|
Stažení |
Ne |
|
Výchozí |
false |
|
Popis |
Ignoruje překlady zdroje v souboru během nahrávání (aby se předešlo náhodným aktualizacím zdrojového jazyka) |
|
Identifikátor |
ignore_target_translations |
|
Typ |
boolean |
|
Nahrání |
Ano |
|
Stažení |
Ne |
|
Výchozí |
false |
|
Popis |
Ignoruje překlady cíle v souboru během nahrávání (aby se předešlo náhodným aktualizacím zdrojového jazyka) |
|
Identifikátor |
export_key_id_as_resname |
|
Typ |
boolean |
|
Nahrát |
Ne |
|
Stáhnout |
Ano |
|
Výchozí |
false |
|
Popis |
Exportuje ID klíče jako atribut resname. |
|
Identifikátor |
export_key_name_hash_as_extradata |
|
Typ |
boolean |
|
Nahrát |
Ne |
|
Stáhnout |
Ano |
|
Výchozí |
false |
|
Popis |
Exportuje hash názvu klíče jako atribut extradata. |
|
Identifikátor |
override_file_language |
|
Typ |
boolean |
|
Nahrání |
Ano |
|
Stažení |
Ne |
|
Výchozí |
false |
|
Popis |
Tento formát souboru obvykle obsahuje informace o jazyce přímo v souboru. Použít tuto možnost pro přepsání jazyka vámi zadaným jazykem. |
|
Identifikátor |
strip_placeholder_delimiters |
|
Typ |
boolean |
|
Nahrání |
Ano |
|
Stažení |
Ne |
|
Výchozí |
false |
|
Popis |
Odstraní tagy |
|
Identifikátor |
delimit_placeholders |
|
Typ |
boolean |
|
Nahrát |
Ne |
|
Stáhnout |
Ano |
|
Výchozí |
false |
|
Popis |
Zabalit zástupné znaky překladu do tagů |
Vzor kódu
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file original=\"global\" datatype=\"plaintext\" source-language=\"de-DE\" target-language=\"en-GB\">
<body>
<trans-unit id="boolean_key">
<source xml:lang=\"de-DE\">--- true
</source>
<target xml:lang=\"cs-CZ\">--- true
</target>
</trans-unit>
<trans-unit id="empty_string_translation">
<source xml:lang="de-DE"/>
<target xml:lang="en-GB"/>
</trans-unit>
<trans-unit id="key_with_description">
<source xml:lang=\"cs-CZ\">Podívej se na to!</source> Tento klíč má popis!</source>
<target xml:lang=\"cs-CZ\">Podívej se na to!</target> This key has a description! (At least in some formats)</target>
<note>Toto je úžasný popis pro tento klíč!</note>
</trans-unit>
<trans-unit id="key_with_line-break">
<source xml:lang=\"cs-CZ\">Tento překlad má
zalomení řádku.</source>
<target xml:lang=\"cs-CZ\">Tento překlad obsahuje
zalomení řádku.</target>
</trans-unit>
<trans-unit id="nested.deeply.key">
<source xml:lang=\"cs-CZ\">Jsem hluboce vnořený klíč.</source>
<target xml:lang=\"cs-CZ\">Jsem hluboce vnořený klíč.</target>
</trans-unit>
<trans-unit id="nested.key">
<source xml:lang=\"cs-CZ\">Tento klíč je vnořen uvnitř jmenného prostoru.</source>
<target xml:lang=\"cs-CZ\">Tento klíč je vnořen uvnitř jmenného prostoru.</target>
</trans-unit>
<trans-unit id="null_translation">
<source xml:lang="de-DE"/>
<target xml:lang="en-GB"/>
</trans-unit>
<trans-unit id="sample_collection">
<source xml:lang="de-DE">---
- první položka"
- druhá položka
</source>
<target xml:lang=\"en-GB\">---</target>
- first item
- second item
- third item
</target>
</trans-unit>
<trans-unit id="simple_key">
<source xml:lang=\"de-DE\">Jednoduchý klíč, jednoduchá zpráva, tak jednoduché</source>
<target xml:lang=\"en-GB\">Simple key, simple message, so simple.</target>
</trans-unit>
<trans-unit id="unverified_key">
<source xml:lang=\"de-DE\">Tento překlad není ještě ověřeno a čeká na to!</source>
<target xml:lang=\"en-GB\">Tento překlad není ještě ověřeno a čeká na to.</target> (V některých formátech také tento stav stáhnout)</target>
</trans-unit>
</body>
</file>
</xliff>
Plurálové tvary
Plurálové klíče se stáhnout pomocí následující syntaxe:
<trans-unit id="plural_key">
<source xml:lang="en">{"one":"one chair","other":"{nrOfChairs} chairs","zero":"no chairs"}</source>
<target xml:lang=\"de\">{\"one\":\"ein Stuhl\",\"other\":\"{nrOfChairs} Stühle\",\"zero\":\"keine Stühle\"}</target>
</trans-unit>