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

.XLIFF - Symfony (Strings)

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

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

.xlf, .xliff

Расширение API 

symfony_xliff

Импорт 

Да

Экспорт 

Да

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

Нет

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

Да

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

enclose_in_cdata

include_translation_state

Symfony является высокопроизводительным фреймворком PHP, состоящим из различных предопределенных компонентов PHP. Локализация для приложений, построенных с использованием Symfony, может происходить с помощью таких форматов файлов, как .XLIFF, .YAML и массивы PHP. 

Разница между Symfony .XLIFF и стандартным .XLIFF заключается в том, как они определяют, что представляет собой каждый <trans-unit>. В то время как стандартные .XLIFF (а также большинство вариаций .XLIFF, поддерживаемых другими фреймворками) используют атрибут id, Symfony .XLIFF использует атрибут resname в качестве идентификатора.

Чтобы гарантировать, что строки загружаются в правильный locale, атрибут target-language в заголовке файла Symfony .XLIFF должен соответствовать имени языкового стандарта, настроенному в соответствующем проекте.

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

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

enclose_in_cdata

Тип 

булевский

Загрузить 

Нет

Скачать 

Да

По умолчанию 

false

Описание 

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

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

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

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

include_translation_state

Тип 

булевский

Загрузить 

Нет

Скачать 

Да

По умолчанию 

false

Описание 

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

Образец кода

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

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.