Traduire

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.

ConfigurationMakefile
.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.

Configurationpackage.json
{
  "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.

Fichiers correctsnpm 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
Une traduction incorrectenpm 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 ligne de recette du Makefile

La même commande que celle exécutée par la cible i18n-check, et son code de sortie.

Fichiers correctsrecipe 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
Une traduction incorrecterecipe 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

Configurez-le en trois étapes

  1. Installer le vérificateur

    Exécutez pip install kaeris sur la machine ou dans l'image CI qui exécute vos tests.

  2. Ajouter la cible ou le script

    Ajoutez la cible i18n-check au Makefile ou les scripts i18n:check et pretest à package.json, avec vos propres --source et --langs.

  3. Exécuter votre commande habituelle

    make test ou npm test exé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é.

Options à connaître

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