XLIFF

Nota

Atualmente, o Weblate oferece suporte ao XLIFF 1.2. O XLIFF 2.0 não é compatível e não é compatível com versões anteriores do XLIFF 1.2.

Formato baseado em XML criado para padronizar arquivos 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 tem suporte como monolíngue.

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

Arquivo de tradução XLIFF 1.2

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

XLIFF 1.2 com suporte a objetos colocáveis

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

XLIFF 1.2 com complementos gettext

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

Status de tradução

O atributo state no arquivo é parcialmente processado e mapeado para o status “Necessita de edição” no Weblate (os seguintes status são utilizados para marcar o texto como “Necessita de edição” se houver um alvo presente: new, needs-translation, needs-adaptation, needs-l10n). Caso o atributo state esteja faltando, um texto é considerado traduzido assim que um elemento <target> existir.

Se o texto de tradução tiver approved="yes", ele também será importado para o Weblate como “Aprovado”, qualquer outra coisa será importada como “Aguardando revisão” (que corresponde à especificação XLIFF).

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

  • O atributo state só é adicionado no caso de texto ser marcado como necessitando de edição.

  • O atributo approved só é adicionado no caso de texto ter sido revisto.

  • 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, a fim de ver e alterar o status aprovado de textos.

Da mesma forma, ao importar tais arquivos (no formulário de envio), você deve escolher Importador como traduzido em Processando os textos que necessitam edição.

Ver 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 você quiser mantê-los, você tem que adicionar o marcador xml:space="preserve" ao texto.

Por exemplo:

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

Especificando marcadores de tradução

Você pode especificar marcadores de tradução adicionais (consulte Personalizando comportamento usando marcadores) utilizando 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 (consulte Gerenciando fontes).

Chaves de textos

Weblate identifica as unidades no arquivo 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, tornando-a mais adequada para a exibição de Weblate em vez de id. O resname tem de ser único em todo o arquivo XLIFF. Isto é exigido pelo Weblate e não é coberto pelo padrão XLIFF – não coloca nenhuma restrição de exclusividade neste atributo.

Exemplo de arquivos

Exemplo de arquivo 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 &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 do arquivo

localizations/*.xliff

Arquivo de idioma da base monolíngue

Vazio

Modelo para novas traduções

localizations/en-US.xliff

Formato de arquivo

Arquivo de tradução XLIFF

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

Máscara do arquivo

localizations/*.xliff

Arquivo de idioma da base monolíngue

localizations/en-US.xliff

Modelo para novas traduções

localizations/en-US.xliff

Formato de arquivo

Arquivo de tradução XLIFF