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

.XLIFF - XML Localization Interchange File Format (Strings)

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

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

.xlf, .xliff

Расширение API 

xlf

Импорт 

Да

Экспорт 

Да

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

Да

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

Да

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

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

enclose_in_cdata

включить_состояние_перевода

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; заменяется на .

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

включить_состояние_перевода

Тип 

булевский

Загрузить 

Нет

Скачать 

Да

По умолчанию 

false

Описание 

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

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

indent_size

Тип 

integer

Загрузить 

Нет

Скачать 

Да

По умолчанию 

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! (По крайней мере, в некоторых форматах)</перевод>
        <note>Это удивительное описание для этого ключа!</note>
      </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">
        <source xml:lang="de-DE">---
- первый элемент
- второй элемент
</source>
        <target xml:lang="en-GB">---
- first item
- second item
- third item
</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="de">{"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.