XLIFF 1.1 and 1.2¶
Примечание
XLIFF 2.0 is a different format and is not backwards compatible with 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 with Apple extensions
XLIFF enriched by Apple to support plurals.
См. также
Состояния перевода¶
Атрибуту состояния 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 identifies the units in the XLIFF file by resname attribute in case
it is present and falls back to id (together with file tag if present).
The resname attribute is supposed to be human friendly identifier of the
unit making it more suitable for Weblate to display instead of id. The
resname has to be unique in the whole XLIFF file. This is required by
Weblate and is not covered by the XLIFF standard - it does not put any
uniqueness restrictions on this attribute.
Файлы примеров¶
Пример 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>
Настройка Weblate¶
Typical Weblate Настройки компонента for bilingual XLIFF |
|
|---|---|
Маска файла |
|
Одноязычный базовый файл |
Пусто |
Шаблон для новых переводов |
|
Формат файла |
Файл перевода XLIFF |
Typical Weblate Настройки компонента for monolingual XLIFF |
|
|---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
|
Формат файла |
Файл перевода XLIFF |