XLIFF 1.1 и 1.2¶
Примечание
XLIFF 2.0 — это другой формат и он не обратно совместим с XLIFF 1.2.
Формат на основе XML, созданный для стандартизации файлов перевода, но в конечном итоге ставший просто ещё одним из многочисленных стандартов в этой области.
Формат файла XML для обмена локализациями (XLIFF) обычно используется как двуязычный, но Weblate поддерживает его использование и в качестве одноязычного.
Weblate поддерживает XLIFF в нескольких вариантах:
- Файл перевода XLIFF 1.2
Простой файл XLIFF, в котором содержимое элементов хранится в виде обычного текста (все Escape-элементы XML).
- XLIFF 1.2 с поддержкой размещаемых объектов
Стандартный XLIFF, поддерживающий размещаемые объекты и другие элементы XML.
- XLIFF 1.2 с расширениями gettext
XLIFF дополнен Руководством по представлению XLIFF 1.2 для Gettext PO для поддержки множественного числа.
- XLIFF 1.2 с расширениями Apple
XLIFF, расширенный Apple для поддержки множественного числа.
См. также
Состояния перевода¶
Атрибуту состояния state из XLIFF-файла частично соответствует состояние «На правку» в Weblate (строки в следующих состояниях считаются отмеченными на правку, если перевод на целевой язык уже присутствует в файле: new, needs-translation, needs-adaptation, needs-l10n). Если атрибут state отсутствует, а собственно перевод есть (существует элемент <target>), то строка считается переведённой.
Если строка перевода имеет атрибут approved="yes", она также будет импортирована в Weblate в состоянии «Одобрено», все остальные строки будут импортированы в состоянии «Ожидает рецензирования» (что соответствует спецификации XLIFF).
При сохранении Weblate добавляет эти атрибуты только если они действительно необходимы:
Атрибут
stateдобавляется только в том случае, если строка помечена на правку.Атрибут
approvedдобавляется только в том случае, если строка была отрецензирована.В остальных случаях эти атрибуты не добавляются, но если они присутствуют, то они будут обновлятся.
Таким образом, при использовании формата XLIFF настоятельно рекомендуется включить рецензирование в Weblate, чтобы видеть и изменять состояние одобрения строк.
Аналогично, при импорте таких файлов (в форме загрузки) необходимо выбрать пункт Импортировать как переведённое в выпадающем списке Обработка строк, отмеченных «На правку».
См. также
Пробелы и переводы строк в файлах XLIFF¶
Как правило, тип или количество пробельных символов в XML-форматах не различаются. Если вы хотите их сохранить, вы должны добавить к строке флаг xml:space="preserve".
Например:
<trans-unit id="10" approved="yes">
<source xml:space="preserve">hello</source>
<target xml:space="preserve">Hello, world!
</target>
</trans-unit>
Указание флагов перевода¶
С помощью атрибута weblate-flags вы можете указать дополнительные флаги перевода (смотрите раздел Настройка поведения с помощью флагов). Также Weblate понимает атрибуты maxwidth и font из спецификации XLIFF:
<trans-unit id="10" maxwidth="100" size-unit="pixel" font="ubuntu;22;bold">
<source>Hello %s</source>
</trans-unit>
<trans-unit id="20" maxwidth="100" size-unit="char" weblate-flags="c-format">
<source>Hello %s</source>
</trans-unit>
Из атрибута font извлекается название семейства шрифтов, а также размер и насыщенность шрифта. Приведённый выше пример показывает использование всех трёх параметров, хотя обязательным к указанию является только семейство шрифта. Любые пробельные символы в наименовании семейства шрифта преобразуются в подчёркивания, так что Source Sans Pro становится Source_Sans_Pro, поэтому при указании группы шрифтов (смотрите раздел Управление шрифтами) имейте это в виду.
Ключи строк¶
Weblate идентифицирует единицы в XLIFF-файле по атрибуту resname, если он присутствует, и возвращается к id (вместе с тегом file, если он присутствует).
Атрибут resname должен быть понятным человеку идентификатором единицы, что делает его более подходящим для отображения в Weblate вместо id. resname должен быть уникальным во всём XLIFF-файле. Это требуется Weblate и не охватывается стандартом XLIFF — он не накладывает никаких ограничений уникальности на этот атрибут.
Файлы примеров¶
Пример XLIFF-файла:
<?xml version='1.0' encoding='UTF-8'?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1">
<file>
<body>
<trans-unit weblate-flags="c-format, max-length:100">
<source xml:space="preserve">Hello, world!
</source>
</trans-unit>
<trans-unit>
<source xml:space="preserve">Orangutan has %d banana.
</source>
</trans-unit>
<trans-unit>
<source xml:space="preserve">Try Weblate at <https://demo.weblate.org/>!
</source>
</trans-unit>
<trans-unit>
<source>Thank you for using Weblate.</source>
</trans-unit>
</body>
</file>
</xliff>
Расширения файлов |
|
|---|---|
Языковость ⓘ |
Как одноязычный, так и двуязычный |
Поддерживает множественное число ⓘ |
|
Поддерживает описания ⓘ |
|
Поддерживает пояснения ⓘ |
|
Поддерживает контекст ⓘ |
|
Поддерживает расположение ⓘ |
|
Поддерживает флаги ⓘ |
|
Дополнительные состояния ⓘ |
|
Идентификатор API |
|
Поддерживает строки только для чтения ⓘ |
|
Настройка Weblate¶
Типичный Настройки компонента Weblate для двуязычного XLIFF |
|
|---|---|
Маска файла |
|
Одноязычный базовый файл |
Пусто |
Шаблон для новых переводов |
|
Формат файла |
Файл перевода XLIFF |
Типичный Настройки компонента Weblate для одноязычного XLIFF |
|
|---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
|
Формат файла |
Файл перевода XLIFF |