|
Расширения файлов |
.xlf, .xliff |
|
Расширение API |
xlf |
|
Импорт |
Да |
|
Экспорт |
Да |
|
Поддержка форм множественного числа |
Да |
|
Поддержка описания |
Да |
|
Варианты формата Эти параметры можно указать при загрузке и/или Скачать файла. В зависимости от метода загрузить/Скачать (интерфейс приложений API, CLI, синхронизация репозитория и т. д.), их можно указать в параметрах запрос |
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 |
Самый широко используемый формат файла в индустрии перевода. Его можно рассматривать как зеркало файла оригинал, который разбивает контент оригинал на различные сегменты, хранящиеся в тегах (например, <trans-unit>, <seg-source>).
XLIFF основан на XML и подчиняется основным правилам XML, таким как проверка на корректность и правильность структуры. Всегда выполняйте проверку перед переводом, изменив расширение файла с .xliff (.xlf) на .xml и открыв его в веб-браузере. Если файл корректен, отобразится хорошо организованная структура документа, а если нет, он либо не будет отображаться, либо появится сообщение об ошибке.
XLIFF был обновлен до версии XLIFF 2.0. Он похож на более широко используемый XLIFF, но является другим форматом файла, обычно несовместимым с XLIFF.
Xcode может упаковывать локализуемые Strings в стандартный для отрасли формат XLIFF для отправки на локализацию с помощью Phrase.
Параметры формата
|
Идентификатор |
enclose_in_cdata |
|
Тип |
булевский |
|
Загрузить |
Нет |
|
Скачать |
Да |
|
По умолчанию |
false |
|
Описание |
Заключает переводы, содержащие html-теги, в CDATA. Если отключено, неподдерживаемые HTML-сущности заменяются их декодированными значениями. Например:
|
|
Идентификатор |
include_translation_state |
|
Тип |
булевский |
|
Загрузить |
Нет |
|
Скачать |
Да |
|
По умолчанию |
false |
|
Описание |
Включить состояние переводов в целевом языковом стандарте. Каждый |
|
Идентификатор |
indent_size |
|
Тип |
integer |
|
Загрузить |
Нет |
|
Скачать |
Да |
|
По умолчанию |
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 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=\"en-GB\">--- 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="de-DE">Взгляни на это!</source> У этого ключа есть описание!</source>
<target xml:lang="en-GB">Взгляни на это!</target> This key has a description! (По крайней мере, в некоторых форматах)</перевод>
<note>Это потрясающее описание для этого ключа!</note>
</trans-unit>
<trans-unit id="key_with_line-break">
<source xml:lang="de-DE">Этот перевод содержит
разрыв строки.</source>
<target xml:lang="en-GB">Этот перевод содержит
разрыв строки.</target>
</trans-unit>
<trans-unit id="nested.deeply.key">
<source xml:lang="de-DE">Я — глубоко вложенный ключ.</source>
<target xml:lang="en-GB">Я — глубоко вложенный ключ.</target>
</trans-unit>
<trans-unit id="nested.key">
<source xml:lang="de-DE">Этот ключ вложен внутрь пространства имен.</source>
<target xml:lang="en-GB">Этот ключ вложен внутрь пространства имен.</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">---"
- первый элемент
- второй элемент
</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\">Einfacher ключ, einfache сообщение, so einfach</source>
<target xml:lang=\"en-GB\">Simple ключ, simple сообщение, so simple.</target>
</trans-unit>
<trans-unit id="unverified_key">
<source xml:lang=\"de-DE\">Этот перевод еще не подтвержден и ждет подтверждения!</source>
<target xml:lang=\"en-GB\">Этот перевод еще не подтвержден и ждет подтверждения.</target> (В некоторых форматах мы также экспортируем этот статус)</target>
</trans-unit>
</body>
</file>
</xliff>
Формы множественного числа
Ключи с формами множественного числа экспортируются с использованием следующего синтаксиса:
<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>