Поддерживаемые типы файлов (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

Описание 

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

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

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

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.