Traducir

Comprobar traducciones desde scripts Make o npm

Si tu proyecto ya tiene un make test o un npm test, añade la comprobación de traducción allí. kaeris check sale con 1 cuando un marcador o una clave está roto, por lo que el objetivo completo falla. Es offline y gratuito: sin clave API, sin cuenta.

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

La receta

Makefile

Instala el verificador una vez con pip install kaeris. La línea de receta empieza con una tabulación. Hacer que test dependa de i18n-check ejecuta la comprobación antes de las pruebas.

ConfiguraciónMakefile
.PHONY: i18n-check test

i18n-check:
	kaeris check --source locales/en.json --langs de,fr --ci

test: i18n-check
	./run-tests.sh

Scripts npm

El script solo llama a kaeris desde tu PATH, por lo que el verificador es el paquete de Python de pip install kaeris. pretest se ejecuta antes de test y lo detiene cuando la comprobación falla.

Configuraciónpackage.json
{
  "scripts": {
    "i18n:check": "kaeris check --source locales/en.json --langs de,fr --ci",
    "pretest": "npm run i18n:check",
    "test": "jest"
  }
}

Lo que imprime, en ejecuciones reales

Salida de kaeris 0.2.35, capturada el 27 de octubre de 2026. La última línea de cada cuadro es el código de salida que ve el trabajo de CI.

npm test

Salida de npm test con los scripts anteriores (el script test fue echo en esta ejecución). Izquierda: archivos que están bien. Derecha: de.json con {nam} en lugar de {name} y la clave checkout faltante; npm se detiene antes de test.

Archivos que están biennpm test
$ npm test

> [email protected] pretest
> npm run i18n:check


> [email protected] i18n:check
> kaeris check --source locales/en.json --langs de,fr --ci

✓ de: complete & placeholder-safe
✓ fr: complete & placeholder-safe
✓ all locales complete & placeholder-safe

> [email protected] test
> echo tests would run here

tests would run here
exit code: 0
Una traducción rotanpm test
$ npm test

> [email protected] pretest
> npm run i18n:check


> [email protected] i18n:check
> kaeris check --source locales/en.json --langs de,fr --ci

✗ de: 1 missing key(s): checkout
✗ de: 1 placeholder mismatch(es):
    greeting: missing ['{name}'], added ['{nam}']
✗ de: 2 translation fault(s):
    greeting: lost placeholder {name}
    greeting: invented placeholder {nam} (not in source)
✓ fr: complete & placeholder-safe
✗ 1 missing key, 1 placeholder mismatch, 2 translation faults
exit code: 1

La línea de receta del Makefile

El mismo comando que ejecuta el objetivo i18n-check, y su código de salida.

Archivos que están bienrecipe line
$ kaeris check --source locales/en.json --langs de,fr --ci
✓ de: complete & placeholder-safe
✓ fr: complete & placeholder-safe
✓ all locales complete & placeholder-safe
exit code: 0
Una traducción rotarecipe line
$ kaeris check --source locales/en.json --langs de,fr --ci
✗ de: 1 missing key(s): checkout
✗ de: 1 placeholder mismatch(es):
    greeting: missing ['{name}'], added ['{nam}']
✗ de: 2 translation fault(s):
    greeting: lost placeholder {name}
    greeting: invented placeholder {nam} (not in source)
✓ fr: complete & placeholder-safe
✗ 1 missing key, 1 placeholder mismatch, 2 translation faults
exit code: 1

Configúralo en tres pasos

  1. Instalar el verificador

    Ejecuta pip install kaeris en la máquina o en la imagen de CI que ejecuta tus pruebas.

  2. Añadir el objetivo o el script

    Añade el objetivo i18n-check al Makefile o los scripts i18n:check y pretest a package.json, con tu propio --source y --langs.

  3. Ejecutar tu comando habitual

    make test o npm test ahora ejecuta la comprobación primero y se detiene con un código de salida no cero cuando una traducción está rota.

Cómo lo comprobamos

Cada comando de esta página se ejecutó antes de ser escrito aquí. Lo que no se ejecutó también se lista.

Opciones que vale la pena conocer

Preguntas

¿Necesita una clave API o una cuenta?

No. kaeris check se describe en su propia ayuda como estático, local y sin API, por lo que el trabajo no necesita ningún secreto. Traducir es un comando separado que sí necesita una clave.

¿Qué detecta la comprobación?

Un marcador perdido o inventado ({name}, %s, {{x}}, plurales ICU), una clave faltante y un archivo de localización que no está allí. La comparación es local y estática. Lo que comprueba, con cada flag

¿Funciona sin Python?

El verificador es un paquete de Python, por lo que la máquina que ejecuta la comprobación necesita Python 3.8 o superior. El paquete no declara dependencias.

Seguir adelante

Otras recetas: GitHub Actions · GitLab CI · pre-commit

Referencia de CLI · Referencia de Check · Referencia de GitHub Action · Verificación gratuita en el navegador · Traducir en el navegador