|
Расширения файлов |
.xlf, .xliff |
|
Расширение API |
symfony_xliff |
|
Импорт |
Да |
|
Экспорт |
Да |
|
Поддержка форм множественного числа |
Нет |
|
Поддержка описания |
Да |
|
Варианты формата Эти параметры можно указать при загрузке и/или Скачать файла. В зависимости от метода загрузить/Скачать (интерфейс приложений API, CLI, синхронизация репозитория и т. д.), их можно указать в параметрах запрос |
enclose_in_cdata include_translation_state |
Symfony — это высокопроизводительный PHP-фреймворк, состоящий из различных предопределенных PHP-компонентов. Локализация для приложений, созданных с помощью Symfony, может выполняться с использованием таких форматов файлов, как .XLIFF, .YAML и PHP-массивы.
Разница между Symfony .XLIFF и стандартным .XLIFF заключается в том, как они определяют, что представляет собой каждый <trans-unit>. В то время как стандартные .XLIFF (а также большинство вариаций .XLIFF, поддерживаемых другими фреймворками) используют атрибуты Идентификатор, Symfony .XLIFF использует атрибуты resname в качестве Идентификатор.
Чтобы гарантировать, что Strings будут загрузить в правильный языковой стандарт, атрибуты target-language в заголовке файла Symfony .XLIFF должны совпадать с именем языковой стандарт, настроенным в соответствующем проект.
Параметры формата
|
Идентификатор |
enclose_in_cdata |
|
Тип |
булевский |
|
Загрузить |
Нет |
|
Скачать |
Да |
|
По умолчанию |
false |
|
Описание |
Заключает переводы, содержащие теги html, в CDATA. Если отключено, неподдерживаемые HTML-сущности заменяются их декодированными значениями. Например:
|
|
Идентификатор |
include_translation_state |
|
Тип |
булевский |
|
Загрузить |
Нет |
|
Скачать |
Да |
|
По умолчанию |
false |
|
Описание |
Включить состояние переводов в целевом языковом стандарте. Каждый тег |
Образец кода
<?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"
</оригинал>
<target xml:lang=\"ru-RU\">--- true
</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\">Зацените!</target> This key has a description! (По крайней мере, в некоторых форматах)</перевод>
<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">Dieser ключ ist innerhalb eines Namensraumes verschachtelt.</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>
- erstes Item
- zweites Item
</оригинал>
<target xml:lang="en-GB">---</target>
- first item
- second item
- third item
</target>
</trans-unit>
<trans-unit id="simple_key" resname="simple_key">
<source xml:lang="de-DE">Nur ein einfacher ключ mit einer einfachen Nachricht.</source>
<target xml:lang="en-GB">Просто простой ключ с простым сообщением.</target>}}}-end of output-
</trans-unit>
<trans-unit id="unverified_key" resname="unverified_key">
<source xml:lang="de-DE">Dieser Schlüssel ist noch nicht bestätigt und wartet drauf!</source>
<target xml:lang="en-GB">Этот перевод еще не подтвержден и ждет подтверждения. (В некоторых форматах мы также экспортируем этот статус)</target>
</trans-unit>
</body>
</file>
</xliff>