|
Расширения файлов |
.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, поддерживаемых другими фреймворками) используют атрибут id, Symfony .XLIFF использует атрибут resname в качестве идентификатора.
Чтобы гарантировать, что строки загружаются в правильный языковой стандарт, атрибут 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
</source>
<target xml:lang="ru-RU">--- правда
</target>
</trans-unit>
<trans-unit id="empty_string_translation" resname="empty_string_translation">
<source xml:lang="ru-RU"/>
<target xml:lang="ru-RU"/>
</trans-unit>
<trans-unit id="key_with_description" resname="key_with_description">
<source xml:lang="ru-RU">Посмотри на это! Этот ключ имеет описание!</source>
<target xml:lang="ru-RU">Посмотри на это! Этот ключ имеет описание! (По крайней мере, в некоторых форматах)</target>
<note>Я очень важное описание для этого ключа!</note>
</trans-unit>
<trans-unit id="ключ_с_переносом_строки" resname="ключ_с_переносом_строки">
<source xml:lang="ru-RU">Этот перевод содержит
перенос строки.</source>
<target xml:lang="ru-RU">Этот перевод содержит
перенос строки.</target>
</trans-unit>
<trans-unit id="nested.deeply.key" resname="nested.deeply.key">
<source xml:lang="ru-RU">Я глубоко вложенный ключ</source>
<target xml:lang="ru-RU">Я глубоко вложенный ключ.</target>
</trans-unit>
<trans-unit id="nested.key" resname="nested.key">
<source xml:lang="ru-RU">Этот ключ вложен внутри пространства имен.</source>
<target xml:lang="ru-RU">Этот ключ вложен внутри пространства имен.</target>
</trans-unit>
<trans-unit id="null_translation" resname="null_translation">
<source xml:lang="ru-RU"/>
<target xml:lang="ru-RU"/>
</trans-unit>
<trans-unit id="sample_collection" resname="sample_collection">
<source xml:lang="ru-RU">---</source>
- первый элемент
- второй элемент
</source>
<target xml:lang="ru-RU">---</target>
- первый элемент
- второй элемент
- третий элемент
</target>
</trans-unit>
<trans-unit id="simple_key" resname="simple_key">
<source xml:lang="ru-RU">Просто простой ключ с простым сообщением.</source>
<target xml:lang="ru-RU">Просто простой ключ с простым сообщением.</target>
</trans-unit>
<trans-unit id="unverified_key" resname="unverified_key">
<source xml:lang="ru-RU">Этот перевод еще не подтвержден и ждет подтверждения!</source>
<target xml:lang="ru-RU">Этот перевод еще не подтвержден и ждет подтверждения.</target> (В некоторых форматах мы также экспортируем этот статус)</target>
</trans-unit>
</body>
</file>
</xliff>