Traducir

Traduce archivos $localize de Angular, luego revisa cada línea

ng extract-i18n escribe XLIFF por defecto, con interpolaciones como etiquetas <x> y plurales ICU dentro. Si eliminas una etiqueta, ng build --localize fallará. KAERIS escribe un <target> para cada unidad y mantiene cada etiqueta e id.

KAERIS ha traducido esta página y revisado cada línea traduciéndola de vuelta. Un hablante nativo aún no la ha revisado. Original en inglés

Las interpolaciones se mantienen como etiquetas <x>

El equiv-text de cada etiqueta se mantiene, por lo que la compilación aún sabe cuál era {{ 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>
Despuéssrc/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>

Lo que KAERIS hace con él

Preguntas

¿Lee también --format json?

Sí. El JSON que escribe ng extract-i18n --format json se traduce clave por clave, incluidos los bloques ICU.

¿Se admite XLIFF 2.0?

Todavía no. El xlf predeterminado de Angular es XLIFF 1.2, que funciona.

¿Es gratis?

Sí, sin cuenta: 10.000 caracteres por archivo y hasta 8 idiomas por ejecución. Una clave API gratuita eleva el límite de archivos a 50.000 caracteres. La licencia vitalicia cuesta $79 una vez, con tu propia clave OpenRouter; los planes mensuales empiezan en $19. Precios

¿Puedo ejecutarlo desde la terminal o en CI?

Sí. pip install kaeris, luego kaeris translate con tu archivo y --langs de,ja. Una GitHub Action abre una pull request cuando llegan nuevas claves. Documentación