Übersetzungen aus Make- oder npm-Skripten prüfen
Wenn Ihr Projekt bereits einen make test oder einen npm test hat, fügen Sie die Übersetzungsprüfung dort hinzu. kaeris check beendet sich mit 1, wenn ein Platzhalter oder ein Schlüssel defekt ist, sodass das gesamte Ziel fehlschlägt. Es ist offline und kostenlos: kein API-Schlüssel, kein Konto.
KAERIS hat diese Seite übersetzt und jede Zeile durch Rückübersetzung geprüft. Ein Muttersprachler hat sie noch nicht überprüft. Englisches Original
Das Rezept
Makefile
Installieren Sie den Prüfer einmal mit pip install kaeris. Die Rezeptzeile beginnt mit einem Tab. Wenn test von i18n-check abhängt, wird die Prüfung vor den Tests ausgeführt.
.PHONY: i18n-check test i18n-check: kaeris check --source locales/en.json --langs de,fr --ci test: i18n-check ./run-tests.sh
npm Skripte
Das Skript ruft nur kaeris aus Ihrem PATH auf, sodass der Prüfer das Python-Paket von pip install kaeris ist. pretest wird vor test ausgeführt und stoppt es, wenn die Prüfung fehlschlägt.
{
"scripts": {
"i18n:check": "kaeris check --source locales/en.json --langs de,fr --ci",
"pretest": "npm run i18n:check",
"test": "jest"
}
}
Was es bei echten Ausführungen ausgibt
Ausgabe von kaeris 0.2.35, erfasst am 27. Oktober 2026. Die letzte Zeile jeder Box ist der Exit-Code, den der CI-Job sieht.
npm test
Ausgabe von npm test mit den obigen Skripten (das test-Skript war in dieser Ausführung echo). Links: Dateien, die in Ordnung sind. Rechts: de.json mit {nam} anstelle von {name} und fehlendem checkout-Schlüssel; npm stoppt vor 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
Die Makefile-Rezeptzeile
Der gleiche Befehl, den das i18n-check-Ziel ausführt, und dessen Exit-Code.
$ 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
Richten Sie es in drei Schritten ein
Prüfer installieren
Führen Sie
pip install kaerisauf dem Rechner oder im CI-Image aus, das Ihre Tests ausführt.Ziel oder Skript hinzufügen
Fügen Sie das
i18n-check-Ziel zum Makefile oder die Skriptei18n:checkundpretestzupackage.jsonhinzu, mit Ihren eigenen--sourceund--langs.Ihren üblichen Befehl ausführen
make testodernpm testführt nun zuerst die Prüfung aus und stoppt mit einem Exit-Code ungleich Null, wenn eine Übersetzung defekt ist.
Wie wir das geprüft haben
Jeder Befehl auf dieser Seite wurde ausgeführt, bevor er hier geschrieben wurde. Was nicht ausgeführt wurde, ist ebenfalls aufgelistet.
Was wurde ausgeführt
npm testmit den obigen Skripten, außer dasstesteinechowar (npm 11.17, Node 24) und kaeris 0.2.35 von PyPI auf dem PATH. Saubere Dateien: Exit-Code 0, Tests ausgeführt. Fehlerhaftede.json: Exit-Code 1, Tests nicht ausgeführt.Was wurde nicht ausgeführt
makeist auf dem Rechner, auf dem dies geprüft wurde, nicht installiert. Die Rezeptzeile wurde über die Shell ausgeführt, was make damit tut, sodass der obige Exit-Code real ist, aber das Makefile selbst wurde nicht von make ausgeführt.npm
Es gibt noch kein kaeris-Paket im npm-Registry, daher leitet Sie diese Seite nicht zu npm dafür weiter. Node-Projekte rufen das Python-Paket auf, wie oben.
Optionen, die es wert sind, zu kennen
Auch bei veralteten Schlüsseln fehlschlagen
--strictschlägt auch fehl, wenn eine Übersetzung Schlüssel hat, die die Quelle nicht mehr hat.Markennamen beibehalten, wie sie geschrieben sind
--glossary 'KAERIS,GitHub'führt dazu, dass ein Ziel fehlschlägt, das einen der Begriffe fallen gelassen hat. Dieselbe Liste kann unterkeepinkaeris.jsonstehen.Anderes Dateilayout
--outist der Ordner mit den Übersetzungen und--pattern '{lang}/common.json'deren Dateinamen. Standard: das Layout, daskaeris translateschreibt.Gar keine Flags
Mit einer
kaeris.jsonim Projekt (kaeris initschreibt eine) nimmtkaeris checkQuelle, Sprachen und Ordner daraus.
Fragen
Benötigt es einen API-Schlüssel oder ein Konto?
Nein. kaeris check wird in seiner eigenen Hilfe als statisch, lokal und ohne API beschrieben, sodass der Job kein Secret benötigt. Das Übersetzen ist ein separater Befehl, der einen Schlüssel benötigt.
Was fängt die Prüfung ab?
Ein verlorener oder erfundener Platzhalter ({name}, %s, {{x}}, ICU-Pluralformen), ein fehlender Schlüssel und eine nicht vorhandene Locale-Datei. Der Vergleich ist lokal und statisch. Was es prüft, mit jedem Flag
Funktioniert es ohne Python?
Der Prüfer ist ein Python-Paket, daher benötigt der Rechner, der die Prüfung ausführt, Python 3.8 oder neuer. Das Paket deklariert keine Abhängigkeiten.
Weiter geht's
Andere Rezepte: GitHub Actions · GitLab CI · pre-commit
Referenz zur CLI · Referenz zur Prüfung · Referenz zur GitHub Action · Kostenlose Prüfung im Browser · Übersetzen im Browser