Расширения файлов |
.xlf, .xliff |
Расширение API |
xlf |
Импорт |
Да |
Экспорт |
Да |
Поддержка форм множественного числа |
Да |
Поддержка описания |
Да |
Варианты формата |
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 |
Наиболее широко используемый формат файлов в переводческой отрасли. Его можно рассматривать как зеркало файла оригинала, которое делит контент оригинала на различные сегменты, хранящиеся в tags (например, <trans- unit>
, <seg- оригинал>
).
XLIFF основан на XML и является темой основных конвенций XML, таких как действительность и четкое оформление. Всегда Завершить проверку на работоспособность перед переводом, изменив расширение файла с .xliff (.xlf) на .xml и открыв его в веб-браузере. Если файл действителен, представляется хорошо организованная структура документа, а если нет, то он будет либо недоступен, либо с сообщением Error.
XLIFF был обновлен с XLIFF 2.0. Он похож на более широко используемый XLIFF, но является файлом другого формата, обычно несовместимым с XLIFF.
Xcode может упаковывать Localizable Strings в отраслевой стандартный формат XLIFF для отправки на локализацию с Phrase.
Параметры формата
Идентификатор |
enclose_in_cdata |
Тип |
булевский |
Загрузить |
Нет |
Скачать |
Да |
По умолчанию |
false |
Описание |
Помещает переводы, содержащие html tags в CDATA. При отключении неподдерживаемые сущности HTML заменяются их декодированными значениями. Например:
|
Идентификатор |
include_translation_state |
Тип |
булевский |
Загрузить |
Нет |
Скачать |
Да |
По умолчанию |
false |
Описание |
Включить состояние переводов на язык перевода. Каждый тег |
Идентификатор |
indent_size |
Тип |
целые числа |
Загрузить |
Нет |
Скачать |
Да |
По умолчанию |
4 |
Описание |
Указывает количество символов отступа |
Идентификатор |
indent_style |
Тип |
строка |
Загрузить |
Нет |
Скачать |
Да |
По умолчанию |
каталог |
Описание |
Указывает символ отступа. Разрешенные значения — |
Идентификатор |
ignore_source_translations |
Тип |
булевский |
Загрузить |
Да |
Скачать |
Нет |
По умолчанию |
false |
Описание |
Пропускает переводы оригинала в файле во время загруженного (во избежание случайного обновления языка оригинала) |
Идентификатор |
ignore_target_translations |
Тип |
булевский |
Загрузить |
Да |
Скачать |
Нет |
По умолчанию |
false |
Описание |
Пропускает перевод переводов в файле во время загруженного (во избежание случайного обновления языка оригинала) |
Идентификатор |
export_key_id_as_resname |
Тип |
булевский |
Загрузить |
Нет |
Скачать |
Да |
По умолчанию |
false |
Описание |
Экспортирует Идентификатор ключа как атрибут resname. |
Идентификатор |
export_key_name_hash_as_extradata |
Тип |
булевский |
Загрузить |
Нет |
Скачать |
Да |
По умолчанию |
false |
Описание |
Экспортирует хэш имени ключа в качестве атрибута extradata. |
Идентификатор |
override_file_language |
Тип |
булевский |
Загрузить |
Да |
Скачать |
Нет |
По умолчанию |
false |
Описание |
Такой формат файла обычно содержит информацию о языке в самом файле. Используйте этот параметр, чтобы переопределить язык на указанный вами. |
Идентификатор |
strip_placeholder_delimiters |
Тип |
булевский |
Загрузить |
Да |
Скачать |
Нет |
По умолчанию |
false |
Описание |
Удаляет |
Идентификатор |
delimit_placeholders |
Тип |
булевский |
Загрузить |
Нет |
Скачать |
Да |
По умолчанию |
false |
Описание |
Оберните заполнители перевода в |
Образец кода
<?xml версия="1.0" кодировка="UTF-8"?> <xliff xmlns="urn:oasis:names:tc:xliff:документ:1.2" version="1.2"> <file original="global" datatype="plaintext" оригинал-язык="de-DE" язык перевода="en-GB"> <body> <trans-unit Идентификатор="boolean_key"> оригинал xml:lang="de-DE">--- true <оригинал Перевод <xml:lang="en-GB">--- true </перевод </trans-unit> <trans-unit id="empty_string_translation"> оригинал xml:lang="de-DE"/> Перевод <xml:lang="en-GB"/> </trans-unit> <trans-unit id="key_with_description"> оригинал xml:lang="de-DE">Schau dir das mal an! Dieser Schlüssel hat eine Beschreibung!</оригинал> <Перевод xml:lang="en-GB">Проверьте! This key has a description! (По крайней мере в некоторых форматах)</перевод> <note>Вот удивительное описание для этого ключа!</note> </trans-unit> <trans-unit id="key_with_line-break"> <оригинал xml:lang="de-DE">Шляпа Diese Übersetzung einen Zeilenumbruch.</оригинал> <Перевод xml:lang="en-GB">Этот перевод содержит разрыв строки.</перевод> </trans-unit> <trans-unit Идентификатор="nested.deeply.key"> <оригинал xml:lang="de- DE">Ich bin ein tief verschachtelter Schlüssel.</ оригинал> <Перевод xml:lang="en-GB">Я глубоко вложенный ключ.</перевод> </trans-unit> <trans-unit Идентификатор="nested.key"> < оригинал xml:lang="de- DE">Dieser Schlüssel ist innerhalb eines Namensraumes verschachtelt.</ оригинал> <Перевод xml:lang="en-GB">Этот ключ вложен в пространство имен.</перевод> </trans-unit> <trans-unit Идентификатор="null_translation"> оригинал xml:lang="de-DE"/> Перевод <xml:lang="en-GB"/> </trans-unit> <trans-unit Идентификатор="sample_collection"> оригинал xml:lang="de-DE">--- - erstes item - zweites Item <оригинал Перевод <xml:lang="en-GB">-- - первый элемент - второй элемент - третий элемент </перевод </trans-unit> <trans-unit Идентификатор="simple_key"> <оригинал xml:lang="de- DE">Einfacher Schlüssel, einfache Nachricht, so einfach</ оригинал> <Перевод xml:lang="en-GB">Простой ключ, простое сообщение, так просто.</перевод> </trans-unit> <trans-unit id="unverified_key"> оригинал xml:lang="de-DE">Diese Übersetzung ist noch nicht bestätigt und wartet drauf!</оригинал <translation xml:lang="en-GB">Этот перевод еще не подтвержден и ждет его. (В некоторых форматах мы также экспортируем этот статус)</перевод> </trans-unit> </body> </file> </xliff>
Формы множественного числа
Ключи во множественном числе экспортируются с использованием следующего синтаксиса:
<trans-unit Идентификатор="plural_key"> <оригинал xml:lang="en">{"один":"один стул","другой":"{nrOfChairs} стулья","ноль":"без стульев"}</оригинал> <перевод xml:lang="de">{"один":"ein Stühl","другой":"{nrOfChairs} Stühle","ноль":"keine Stühle"}</перевод> </trans-unit>