XLIFF 1.1 e 1.2¶
Nota
XLIFF 2.0 is a different format and is not backwards compatible with XLIFF 1.2.
XML-based format created to standardize translation files, but in the end it is one of many standards, in this area.
XML Localization Interchange File Format (XLIFF) is usually used as bilingual, but Weblate supports it as monolingual as well.
Weblate supporta XLIFF in diverse varianti:
- XLIFF 1.2 translation file
Standard XLIFF file. Placeables handling is controlled by the
xliff_placeablesParametri del formato file.- XLIFF 1.2 with gettext extensions
XLIFF enriched by XLIFF 1.2 Representation Guide for Gettext PO to support plurals.
- XLIFF 1.2 with Apple extensions
XLIFF enriched by Apple to support plurals.
Vedi anche
Translation states¶
The state attribute in the file is partially processed and mapped to the
«Needs edit» state in Weblate (the following states are used to flag the string as
needing edit if there is a target present: new, needs-translation,
needs-adaptation, needs-l10n). Should the state attribute be
missing, a string is considered translated as soon as a <target> element
exists.
If the translation string has approved="yes", it will also be imported into Weblate
as «Approved», anything else will be imported as «Waiting for review» (which matches the
XLIFF specification).
While saving, Weblate doesn’t add those attributes unless necessary:
The
stateattribute is only added in case string is marked as needing edit.The
approvedattribute is only added in case string has been reviewed.In other cases the attributes are not added, but they are updated in case they are present.
That means that when using the XLIFF format, it is strongly recommended to turn on the Weblate review process, in order to see and change the approved state of strings.
Similarly upon importing such files (in the upload form), you should choose Import as translated under Processing of strings needing edit.
Vedi anche
Whitespace and newlines in XLIFF¶
Weblate controls how whitespaces are handled with the xml_whitespace_handling
Parametri del formato file for XLIFF components:
Follow xml:space — honor
xml:spaceattributes in the file (and the XLIFF default when the attribute is missing).Always preserve — keep all whitespace and set
xml:space="preserve"on units (Weblate’s default for new units).Always normalize — collapse whitespace even when the file sets
xml:space="preserve".
To keep newlines or surrounding spaces when following xml:space, mark the
string with xml:space="preserve":
<trans-unit id="10" approved="yes">
<source xml:space="preserve">hello</source>
<target xml:space="preserve">Hello, world!
</target>
</trans-unit>
Vedi anche
Placeables in XLIFF¶
Weblate controls how XML elements inside XLIFF content are handled with the
xliff_placeables Parametri del formato file:
Plain text — escape XML elements in the content.
Placeables — preserve placeables and other XML elements (the default). Tags then appear as placeholders in the editor.
Vedi anche
Specifying translation flags¶
You can specify additional translation flags (see Customizing behavior using flags) by
using the weblate-flags attribute. Weblate also understands maxwidth and font
attributes from the XLIFF specification:
<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>
The font attribute is parsed for font family, size and weight, the above
example shows all of that, though only font family is required. Any whitespace
in the font family is converted to underscore, so Source Sans Pro becomes
Source_Sans_Pro, please keep that in mind when naming the font group (see
Managing fonts).
Chiavi stringa¶
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.
File di esempio¶
File esempio 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>
Estensioni dei file |
|
|---|---|
Linguality ⓘ |
Both monolingual and bilingual |
Supports plural ⓘ |
|
Supports descriptions ⓘ |
|
Supports explanation ⓘ |
|
Supports context ⓘ |
|
Supports location ⓘ |
|
Supports flags ⓘ |
|
Additional states ⓘ |
|
API identifier |
|
Supports read-only strings ⓘ |
|
Supports removing obsolete strings ⓘ |
|
Configurazione Weblate¶
Typical Weblate Component configuration for bilingual XLIFF |
|
|---|---|
Maschera del file |
|
File di lingua a base monolingue |
Empty |
Modello per le nuove traduzioni |
|
Formato file |
XLIFF Translation File |
Typical Weblate Component configuration for monolingual XLIFF |
|
|---|---|
Maschera del file |
|
File di lingua a base monolingue |
|
Modello per le nuove traduzioni |
|
Formato file |
XLIFF Translation File |