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 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:

XLIFF 1.2 translation file

Arquivo 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 arquivo é parcialmente processado e mapeado para o estado “Necessita edição” no Weblate (os seguintes estados são utilizados para marcar o texto como necessitando editar 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 estado 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 (veja 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 (veja 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.

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 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 de 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