XLIFF#

Nota

Weblate currently supports XLIFF 1.2. XLIFF 2.0 is not supported and is not backwards compatible with XLIFF 1.2.

Formato baseado em XML criado para padronizar ficheiros de tradução, mas no final é um dos muitos padrões, nesta área.

XML Localization Interchange File Format (XLIFF) é normalmente utilizado como bilíngue, mas Weblate também o suporta como monolíngue.

O Weblate tem suporte a XLIFF em várias variantes:

XLIFF 1.2 translation file

Ficheiros XLIFF simples onde o conteúdo dos elementos é armazenado como texto simples (todos os elementos XML sendo escapados).

XLIFF 1.2 with placeables support

XLIFF padrão que oferece suporte a objetos colocáveis e outros elementos XML.

XLIFF 1.2 with gettext extensions

XLIFF enriquecido pelo XLIFF 1.2 Representation Guide for Gettext PO para oferecer suporte a plurais.

Estados de tradução#

O atributo state no ficheiro é parcialmente processado e mapeado para o estado «Necessita de edição» no Weblate (os estados seguintes são utilizados para marcar a cadeia como a necessita de edição se houver um alvo presente: new, needs-translation, needs-adaptation, needs-l10n). Caso o atributo state falte, uma cadeia é considerada traduzida assim que um elemento <target> existir.

Se a cadeia de tradução tiver approved="yes", ela também será importada para a Weblate como «Aprovado», qualquer outra coisa será importada como «A aguardar revisão» (que corresponde à especificação XLIFF).

Ao gravar, o Weblate não adiciona esses atributos a menos que seja necessário:

  • O atributo state só é adicionado no caso da cadeia ser marcada como a necessitar de edição.

  • O atributo approved só é adicionado no caso da cadeia ter sido revista.

  • Em outros casos os atributos não são adicionados, mas são atualizados no caso de estarem presentes.

Isso significa que, ao utilizar o formato XLIFF, é fortemente recomendado ativar o processo de revisão do Weblate, de modo a ver e alterar o estado aprovado de cadeias.

Da mesma forma, ao importar tais ficheiros (no formulário de envio), deve escolher Importador como traduzido em A processar as cadeias que necessitam de edição.

Veja também

Revisores dedicados

Espaços em branco e novas linhas em XLIFF#

Geralmente os tipos ou quantidades de espaços em branco não são diferenciados entre si nos formatos XML. Se quiser mantê-los, tem que adicionar o marcador xml:space="preserve" à cadeia.

Por exemplo:

    <trans-unit id="10" approved="yes">
        <source xml:space="preserve">hello</source>
        <target xml:space="preserve">Hello, world!
</target>
    </trans-unit>

Especificação de bandeiras de tradução#

Pode especificar marcadores de tradução adicionais (veja Personalizando comportamento a usar marcadores) a utilizar o atributo weblate-flags. Weblate também entende os atributos maxwidth e font da especificação 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>

O atributo fonte é analisado para a família de fontes, tamanho e peso, o exemplo acima mostra tudo isso, embora apenas a família de fontes seja necessária. Qualquer espaço em branco na família de fontes é convertido para sublinhado, então Source Sans Pro torna-se Source_Sans_Pro, por favor tenha isso em mente ao nomear o grupo de fontes (veja Gerir letras).

Chaves de cadeias#

Weblate identifica as unidades no ficheiro XLIFF pelo atributo resname no caso de estar presente e, do contrário, recorre a id (junto com a tag file se presente).

O atributo resname deveria ser um identificador humanamente amigável da unidade, a tornar-a mais adequada para a exibição de Weblate em vez de id. O resname tem de ser único em todo o ficheiro XLIFF. Isto é exigido pelo Weblate e não é coberto pelo padrão XLIFF – não coloca nenhuma restrição de exclusividade neste atributo.

Example files#

Example XLIFF file:

<?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 &lt;https://demo.weblate.org/&gt;!
</source>
            </trans-unit>
            <trans-unit>
                <source>Thank you for using Weblate.</source>
            </trans-unit>
        </body>
    </file>
</xliff>

Configuração do Weblate#

Configuração de componente típica do Weblate para XLIFF bilíngue

Máscara de ficheiros

localizations/*.xliff

Ficheiro de idioma base monolingue

Vazio

Modelo para novas traduções

localizations/en-US.xliff

Formato de ficheiro

Ficheiro de tradução XLIFF

Configuração de componente típica do Weblate para XLIFF monolíngue

Máscara de ficheiros

localizations/*.xliff

Ficheiro de idioma base monolingue

localizations/en-US.xliff

Modelo para novas traduções

localizations/en-US.xliff

Formato de ficheiro

Ficheiro de tradução XLIFF