Поддерживаемые типы файлов (Strings)

.XLIFF - Формат файла обмена локализацией XML (Строки)

Контент автоматически переведен с английского языка с помощью Phrase Language AI.

Расширения файлов 

.xlf, .xliff

Расширение API 

xlf

Импорт 

Да

Экспорт 

Да

Поддержка форм множественного числа 

Да

Поддержка описания 

Да

Варианты формата 

Эти параметры могут быть указаны при загрузке и/или скачивании файла. В зависимости от метода загрузки/скачивания (API, CLI, синхронизация репозитория и т.д.), они могут быть указаны в параметрах запроса Загрузить, Скачать или в конфигурационном файле phrase.yml.

enclose_in_cdata

include_translation_state

размер отступа

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 может упаковывать локализуемые строки в стандартный формат XLIFF для отправки на локализацию с Phrase.

Параметры формата

Идентификатор 

enclose_in_cdata

Тип 

булевский

Загрузить 

Нет

Скачать 

Да

По умолчанию 

false

Описание 

Заключает переводы, содержащие html-теги, в CDATA. Если отключено, неподдерживаемые HTML-сущности заменяются их декодированными значениями. Например:

  • &pound; заменяется на £.

  • &trade; заменяется на .

Идентификатор 

include_translation_state

Тип 

булевский

Загрузить 

Нет

Скачать 

Да

По умолчанию 

false

Описание 

Включить состояние переводов в целевом языковом стандарте. Каждый <target> тег получит атрибут state, который может быть одним из: new, signed-off, translated

Идентификатор

размер отступа

Тип 

целое число

Загрузить 

Нет

Скачать 

Да

По умолчанию 

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

Описание 

Удаляет теги <ph> из переводов

Идентификатор 

delimit_placeholders

Тип 

булевский

Загрузить 

Нет

Скачать 

Да

По умолчанию 

false

Описание 

Оборачивайте заполнители перевода в теги <ph>. Должны быть определены действительные стили заполнителей в настройках проекта.

Образец кода

<?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">--- верно
</source>
        <target xml:lang="en-GB">--- верно
</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>
        <target xml:lang="en-GB">Проверь это! У этого ключа есть описание! (По крайней мере, в некоторых форматах)</target>
        <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>
- первое Item
- второе Item
</source>
        <target xml:lang="en-GB">---</target>
- первый элемент
- второй элемент
- третий элемент
</target>
      </trans-unit>
      <trans-unit id="simple_key">
        <source xml:lang="de-DE">Простой ключ, простое сообщение, так просто</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":"один стул","other":"{nrOfChairs} стульев","zero":"нет стульев"}</source>
  <target xml:lang="ru">{"one":"один стул","other":"{nrOfChairs} стульев","zero":"нет стульев"}</target>
</trans-unit>
Была ли эта статья полезной?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.