Traduci

Controlla le traduzioni da script Make o npm

Se il tuo progetto ha già un make test o un npm test, aggiungi il controllo delle traduzioni lì. kaeris check esce con 1 quando un placeholder o una chiave sono corrotti, quindi l'intero target fallisce. È offline e gratuito: nessuna API key, nessun account.

KAERIS ha tradotto questa pagina e controllato ogni riga ritraducendola. Un madrelingua non l'ha ancora revisionata. Originale in inglese

La ricetta

Makefile

Installa il checker una volta con pip install kaeris. La riga della ricetta inizia con una tabulazione. Rendere test dipendente da i18n-check esegue il controllo prima dei test.

ConfigurazioneMakefile
.PHONY: i18n-check test

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

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

Script npm

Lo script chiama solo kaeris dal tuo PATH, quindi il checker è il pacchetto Python da pip install kaeris. pretest viene eseguito prima di test e lo interrompe quando il controllo fallisce.

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

Cosa stampa, nelle esecuzioni reali

Output di kaeris 0.2.35, catturato il 27 ottobre 2026. L'ultima riga di ogni box è il codice di uscita che il job CI vede.

npm test

Output di npm test con gli script sopra (lo script test era echo in questa esecuzione). A sinistra: file corretti. A destra: de.json con {nam} invece di {name} e la chiave checkout mancante; npm si ferma prima di test.

File che vanno benenpm 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 traduzione erratanpm 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 riga della ricetta del Makefile

Lo stesso comando che esegue il target i18n-check, e il suo codice di uscita.

File che vanno benerecipe 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 traduzione erratarecipe 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

Configuralo in tre passaggi

  1. Installa il checker

    Esegui pip install kaeris sulla macchina o nell'immagine CI che esegue i tuoi test.

  2. Aggiungi il target o lo script

    Aggiungi il target i18n-check al Makefile o gli script i18n:check e pretest a package.json, con i tuoi --source e --langs.

  3. Esegui il tuo comando abituale

    make test o npm test ora eseguono prima il controllo e si interrompono con un codice di uscita non zero quando una traduzione è corrotta.

Come abbiamo verificato questo

Ogni comando in questa pagina è stato eseguito prima di essere scritto qui. Quello che non è stato eseguito è elencato anch'esso.

Opzioni degne di nota

Domande

Richiede una chiave API o un account?

No. kaeris check è descritto nel suo stesso aiuto come statico, locale e senza API, quindi il job non necessita di secret. La traduzione è un comando separato che richiede una chiave.

Cosa rileva il controllo?

Un placeholder perso o inventato ({name}, %s, {{x}}, plurali ICU), una chiave mancante e un file di localizzazione inesistente. Il confronto è locale e statico. Cosa controlla, con ogni flag

Funziona senza Python?

Il checker è un pacchetto Python, quindi la macchina che esegue il controllo necessita di Python 3.8 o versioni successive. Il pacchetto non dichiara dipendenze.

Continua

Altre ricette: GitHub Actions · GitLab CI · pre-commit

Riferimento CLI · Riferimento Check · Riferimento GitHub Action · Controllo gratuito nel browser · Traduci nel browser