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.
.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.
{
"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.
$ 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
$ 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.
$ 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
$ 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
Instalar el verificador
Ejecuta
pip install kaerisen la máquina o en la imagen de CI que ejecuta tus pruebas.Añadir el objetivo o el script
Añade el objetivo
i18n-checkal Makefile o los scriptsi18n:checkypretestapackage.json, con tu propio--sourcey--langs.Ejecutar tu comando habitual
make testonpm testahora 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.
Lo que se ejecutó
npm testcon los scripts anteriores, excepto quetestfue unecho(npm 11.17, Node 24), y kaeris 0.2.35 de PyPI en el PATH. Archivos limpios: código de salida 0, pruebas ejecutadas.de.jsonroto: código de salida 1, pruebas no ejecutadas.Lo que no se ejecutó
makeno está instalado en la máquina donde se comprobó esto. La línea de receta se ejecutó a través del shell, que es lo que make hace con ella, por lo que el código de salida anterior es real, pero el propio Makefile no fue ejecutado por make.npm
Todavía no hay un paquete kaeris en el registro npm, por lo que esta página no te envía a npm para él. Los proyectos Node llaman al paquete Python, como se ha indicado anteriormente.
Opciones que vale la pena conocer
Fallar también en claves obsoletas
--stricttambién falla cuando una traducción tiene claves que la fuente ya no tiene.Mantener los nombres de marca tal como están escritos
--glossary 'KAERIS,GitHub'falla un objetivo que omitió uno de los términos. La misma lista puede vivir bajokeepenkaeris.json.Diseño de archivo diferente
--outes la carpeta con las traducciones y--pattern '{lang}/common.json'sus nombres de archivo. Por defecto: el diseño que escribekaeris translate.Sin flags
Con un
kaeris.jsonen el proyecto (kaeris initescribe uno),kaeris checktoma la fuente, los idiomas y la carpeta de él.
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