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

.XLIFF - XML Localization Interchange File Format (Strings)

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

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

.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

Наиболее широко используемый формат файлов в индустрии перевода. Его можно рассматривать как зеркало исходного файла, которое разбивает исходный контент на различные сегменты, хранящиеся в тегах (например, <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

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

indent_size

Тип 

целое число

Загрузить 

Нет

Скачать 

Да

По умолчанию 

4

Описание 

Указывает количество символов отступа

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

indent_style

Тип 

строка

Загрузить 

Нет

Скачать 

Да

По умолчанию 

каталог

Описание 

Указывает символ отступа. Допустимые значения: space и tab.

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

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">
        <оригинал xml:lang="de-DE"/>
        <перевод xml:lang="en-GB"/>
      </trans-unit>
      <trans-unit id="key_with_description">
        <оригинал xml:lang="de-DE">Посмотри на это! Этот ключ имеет описание!</оригинал>
        <перевод xml:lang="en-GB">Проверь это! This key has a description! (По крайней мере, в некоторых форматах)</перевод>
        <заметка>Это удивительное описание для этого ключа!</заметка>
      </trans-unit>
      <trans-unit id="key_with_line-break">
        <оригинал xml:lang="de-DE">Этот перевод имеет
перенос строки.</оригинал>
        <перевод xml:lang="en-GB">Этот перевод содержит
перенос строки.</перевод>
      </trans-unit>
      <trans-unit id="nested.deeply.key">
        <оригинал xml:lang="de-DE">Я глубоко вложенный ключ.</оригинал>
        <перевод xml:lang="en-GB">Я глубоко вложенный ключ.</перевод>
      </trans-unit>
      <trans-unit id="nested.key">
        <оригинал xml:lang="de-DE">Этот ключ вложен внутри пространства имен.</оригинал>
        <перевод xml:lang="en-GB">Этот ключ вложен внутри пространства имен.</перевод>
      </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="ru">---</target>
- первый элемент
- второй элемент
- третий элемент
</target>
      </trans-unit>
      <trans-unit id="simple_key">
        <source xml:lang="ru">Простой ключ, простое сообщение, так просто</source>
        <target xml:lang="ru">Простой ключ, простое сообщение, так просто.</target>
      </trans-unit>
      <trans-unit id="unverified_key">
        <source xml:lang="ru">Этот перевод еще не подтвержден и ждет этого!</source>
        <target xml:lang="ru">Этот перевод еще не проверен и ждет этого.</target> (В некоторых форматах мы также экспортируем этот статус)
      </trans-unit>
    </body>
  </file>
</xliff>

Формы множественного числа

Плюрализованные ключи экспортируются с использованием следующего синтаксиса:

<trans-unit id="plural_key">
  <source xml:lang="ru">{"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.