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

.XLIFF — формат XML Localization Interchange File Format (Strings)

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

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

.xlf, .xliff

Расширение API 

xlf

Импорт 

Да

Экспорт 

Да

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

Да

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

Да

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

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

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-сущности заменяются их декодированными значениями. Например:

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

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

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

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

Описание 

Удаляет <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\">--- 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>
Была ли эта статья полезной?

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.