Traduzir

Traduza arquivos Angular $localize, depois verifique cada linha

ng extract-i18n gera XLIFF por padrão, com interpolações como tags <x> e plurais ICU dentro. Remover uma tag faz ng build --localize falhar. KAERIS escreve um <target> para cada unidade e mantém todas as tags e ids.

KAERIS traduziu esta página e verificou cada linha traduzindo-a de volta. Um falante nativo ainda não revisou. Original em inglês

Interpolações permanecem como tags <x>

O equiv-text de cada tag é mantido, para que a build ainda saiba o que foi {{ name }}.

Antessrc/locale/messages.xlf
<trans-unit id="welcome" datatype="html">
  <source>Welcome back, <x id="INTERPOLATION" equiv-text="{{ name }}"/>!</source>
</trans-unit>
<trans-unit id="save" datatype="html">
  <source>Save changes</source>
</trans-unit>
Depoissrc/locale/messages.de.xlf
<trans-unit id="welcome" datatype="html">
  <source>Welcome back, <x id="INTERPOLATION" equiv-text="{{ name }}"/>!</source>
  <target>Willkommen zurück, <x id="INTERPOLATION" equiv-text="{{ name }}"/>!</target>
</trans-unit>
<trans-unit id="save" datatype="html">
  <source>Save changes</source>
  <target>Änderungen speichern</target>
</trans-unit>

O que o KAERIS faz com isso

Perguntas

Ele também lê --format json?

Sim. O JSON que ng extract-i18n --format json gera é traduzido chave por chave, incluindo blocos ICU.

O XLIFF 2.0 é suportado?

Ainda não. O padrão Angular xlf é XLIFF 1.2, que funciona.

É 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 com seu arquivo e --langs de,ja. Uma GitHub Action abre um pull request quando novas chaves chegam. Documentação