Vérifier les traductions à partir de scripts Make ou npm
Si votre projet a déjà un make test ou un npm test, ajoutez la vérification de traduction là. kaeris check sort avec 1 lorsqu'un placeholder ou une clé est cassé, donc la cible entière échoue. C'est hors ligne et gratuit : pas de clé API, pas de compte.
KAERIS a traduit cette page et vérifié chaque ligne en la retraduisant. Un locuteur natif ne l'a pas encore revue. Original anglais
La recette
Makefile
Installez le vérificateur une fois avec pip install kaeris. La ligne de recette commence par une tabulation. Faire dépendre test de i18n-check exécute la vérification avant les tests.
.PHONY: i18n-check test i18n-check: kaeris check --source locales/en.json --langs de,fr --ci test: i18n-check ./run-tests.sh
Scripts npm
Le script appelle simplement kaeris depuis votre PATH, donc le vérificateur est le package Python de pip install kaeris. pretest s'exécute avant test et l'arrête lorsque la vérification échoue.
{
"scripts": {
"i18n:check": "kaeris check --source locales/en.json --langs de,fr --ci",
"pretest": "npm run i18n:check",
"test": "jest"
}
}
Ce qu'elle imprime, lors de vraies exécutions
Sortie de kaeris 0.2.35, capturée le 27 octobre 2026. La dernière ligne de chaque boîte est le code de sortie que le job CI voit.
npm test
Sortie de npm test avec les scripts ci-dessus (le script test était echo dans cette exécution). À gauche : fichiers qui sont corrects. À droite : de.json avec {nam} au lieu de {name} et la clé checkout manquante ; npm s'arrête avant 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 ligne de recette du Makefile
La même commande que celle exécutée par la cible i18n-check, et son code de sortie.
$ 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
Configurez-le en trois étapes
Installer le vérificateur
Exécutez
pip install kaerissur la machine ou dans l'image CI qui exécute vos tests.Ajouter la cible ou le script
Ajoutez la cible
i18n-checkau Makefile ou les scriptsi18n:checketpretestàpackage.json, avec vos propres--sourceet--langs.Exécuter votre commande habituelle
make testounpm testexécute maintenant la vérification d'abord et s'arrête avec un code de sortie non nul lorsqu'une traduction est cassée.
Comment nous avons vérifié cela
Chaque commande de cette page a été exécutée avant d'être écrite ici. Ce qui n'a pas été exécuté est également listé.
Ce qui a été exécuté
npm testavec les scripts ci-dessus, sauf quetestétait unecho(npm 11.17, Node 24), et kaeris 0.2.35 de PyPI sur le PATH. Fichiers propres : code de sortie 0, tests exécutés.de.jsoncorrompu : code de sortie 1, tests non exécutés.Ce qui n'a pas été exécuté
maken'est pas installé sur la machine où cela a été vérifié. La ligne de recette a été exécutée via le shell, ce que fait make avec elle, donc le code de sortie ci-dessus est réel, mais le Makefile lui-même n'a pas été exécuté par make.npm
Il n'y a pas encore de package kaeris sur le registre npm, donc cette page ne vous y redirige pas. Les projets Node appellent le package Python, comme ci-dessus.
Options à connaître
Échouer aussi sur les clés obsolètes
--strictéchoue également lorsqu'une traduction a des clés que la source n'a plus.Conserver les noms de marque tels quels
--glossary 'KAERIS,GitHub'fait échouer une cible qui a supprimé l'un des termes. La même liste peut se trouver souskeepdanskaeris.json.Disposition de fichiers différente
--outest le dossier contenant les traductions et--pattern '{lang}/common.json'leurs noms de fichiers. Par défaut : la disposition quekaeris translateécrit.Aucun drapeau du tout
Avec un fichier
kaeris.jsondans le projet (kaeris initen écrit un),kaeris checkrécupère la source, les langues et le dossier à partir de celui-ci.
Questions
A-t-il besoin d'une clé API ou d'un compte ?
Non. kaeris check est décrit dans son aide comme statique, local et sans API, donc le job n'a pas besoin de secret. La traduction est une commande distincte qui nécessite une clé.
Que détecte la vérification ?
Un placeholder perdu ou inventé ({name}, %s, {{x}}, pluriels ICU), une clé manquante et un fichier de langue absent. La comparaison est locale et statique. Ce qu'il vérifie, avec chaque drapeau
Est-ce que ça fonctionne sans Python ?
Le vérificateur est un package Python, donc la machine qui exécute la vérification a besoin de Python 3.8 ou plus récent. Le package ne déclare aucune dépendance.
Continuer
Autres recettes : GitHub Actions · GitLab CI · pre-commit
Référence CLI · Référence Check · Référence GitHub Action · Vérification gratuite dans le navigateur · Traduction dans le navigateur