|
Расширения файлов |
.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">
<оригинал 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 ключ hat eine Beschreibung!</оригинал>
<перевод xml:lang="en-GB">Check it out!</перевод> This key has a description! (По крайней мере, в некоторых форматах)</перевод>
<note>This is the amazing description for this ключ!</note>
</trans-unit>
<trans-unit Идентификатор="key_with_line-break">
<оригинал xml:lang="de-DE">Diese Übersetzung hat
einen Zeilenumbruch.</оригинал>
<перевод xml:lang="en-GB">This translations contains
a line-break.</перевод>
</trans-unit>
<trans-unit id="nested.deeply.key">
<оригинал xml:lang="de-DE">Ich bin ein tief verschachtelter ключ.</оригинал>
<перевод xml:lang="en-GB">I'm a deeply nested ключ.</перевод>
</trans-unit>
<trans-unit id="nested.key">
<оригинал xml:lang="de-DE">Dieser ключ ist innerhalb eines Namensraumes verschachtelt.</оригинал>
<перевод xml:lang="en-GB">This ключ is nested inside a namespace.</перевод>
</trans-unit>
<trans-unit id="null_translation">
<оригинал xml:lang="de-DE"/>
<перевод xml:lang="en-GB"/>
</trans-unit>
<trans-unit id="sample_collection">
<оригинал 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 ключ, простой перевод, так просто</source>
<target xml:lang=\"en-GB\">Простой ключ, простой перевод, так просто.</target>
</trans-unit>
<trans-unit id="unverified_key">
<source xml:lang=\"de-DE\">Этот перевод еще не подтвержден и ждет подтверждения!</source>
<target xml:lang=\"en-GB\">Этот перевод еще не подтвержден и ждет подтверждения. (В некоторых форматах мы также экспортируем этот статус)</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>