Traduzir arquivos XLIFF 1.2
XLIFF coloca a origem e a tradução lado a lado, com tags inline entre elas. Mover ou soltar uma tag faz com que o placeholder ou link no aplicativo desapareça. O KAERIS mantém as tags e informa se uma está faltando.
KAERIS traduziu esta página e verificou cada linha traduzindo-a de volta. Um falante nativo ainda não revisou. Original em inglês
Como um arquivo XLIFF 1.2 é construído
Cada <trans-unit> contém uma <source> e um <target>. Dentro do texto, <x/>, <g> e <ph> representam variáveis e marcação. O messages.xlf do Angular é este formato.
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" target-language="de" datatype="plaintext" original="app">
<body>
<trans-unit id="welcome">
<source>Welcome back, <x id="1" ctype="x-name"/>!</source>
</trans-unit>
<trans-unit id="terms">
<source>I accept the <g id="2" ctype="x-link">terms</g>.</source>
</trans-unit>
</body>
</file>
</xliff>
O que observar nas traduções XLIFF
Tags inline são os placeholders
<x id="1"/>é uma variável,<g>…</g>envolve um link ou uma ênfase. Elas são mantidas como marcação bruta e comparadas com a origem.Um arquivo, dois idiomas
O atributo
target-languagee cada<target>devem corresponder. A verificação lê o catálogo sozinho, então um arquivo é suficiente.Apenas versão 1.2
XLIFF 2.0 tem uma estrutura diferente (
<unit><segment>). Ele é recusado com uma mensagem em vez de ser lido parcialmente.Não traduza os atributos da tag
Os atributos
ctypeeidsão estrutura, não texto.
Uma execução real: traduzido para Alemão e verificado
Uma execução real, 27 de outubro de 2026, nada editado manualmente: kaeris translate messages.xlf --langs de com kaeris 0.2.35, 1,9 segundos, modelo google/gemini-2.5-flash-lite, o padrão do nível gratuito. Abaixo, o arquivo alemão que ele escreveu e o que kaeris check diz sobre ele.
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file original="app" source-language="en" target-language="de" datatype="plaintext">
<body>
<trans-unit id="welcome">
<source>Welcome back, <x id="1" ctype="x-name" />!</source>
<target state="translated">Willkommen zurück, <x id="1" ctype="x-name" />!</target>
</trans-unit>
<trans-unit id="terms">
<source>I accept the <g id="2" ctype="x-link">terms</g>.</source>
<target state="translated">Ich akzeptiere die <g id="2" ctype="x-link">Nutzungsbedingungen</g>.</target>
</trans-unit>
</body>
</file>
</xliff>
$ kaeris check --source messages.xlf --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
O que o KAERIS faz com isso
Tags mantidas
Tags inline são mantidas como XML bruto e uma tag ausente é relatada pela verificação gratuita.
Atributo state escrito
Cada
<target>traduzido é escrito comstate="translated".Verificação gratuita para este formato
A verificação gratuita em /check lê este formato e executa sem chave ou conta. O comando de terminal
kaeris checktambém o lê: ele aceita todos os 13 formatos desde kaeris 0.2.35, com as mesmas regras e nada enviado para lugar nenhum.
Execute em três etapas
Instale o CLI
Execute
pip install kaeris.Traduzir o arquivo
Execute
kaeris translate src/locale/messages.xlf --langs de,ja.Verificar o resultado
Abra a página de verificação gratuita e faça o upload do arquivo traduzido. Um catálogo com origem e destino em um único arquivo é verificado isoladamente.
pip install kaeris kaeris translate src/locale/messages.xlf --langs de,ja --verify
Perguntas
O XLIFF 2.0 é suportado?
Não. A versão 1.2 é suportada; um arquivo 2.0 é recusado com uma mensagem que informa isso.
É gratuito?
Sim, sem conta: 10.000 caracteres por arquivo e até 8 idiomas por execução. Uma chave API gratuita eleva o limite para 50.000 caracteres. A licença vitalícia custa $79 uma vez, usando sua própria chave OpenRouter; planos mensais começam em $19. Preços
Posso rodar pelo terminal ou em CI?
Sim. pip install kaeris, depois kaeris translate src/locale/messages.xlf --langs de,ja. Veja também Angular. O GitHub Action executa a mesma tradução em um pull request. Docs da CLI · GitHub Action
Continue
Referência do CLI · Referência de verificação · Traduzir no navegador · Verificação gratuita · Converter formatos · Pseudo-localização
Outros formatos: JSON · YAML · .po · ARB · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML