Übersetzen

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

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

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

Dateien, die in Ordnung sindnpm 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
Eine fehlerhafte Übersetzungnpm 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

Die Makefile-Rezeptzeile

Der gleiche Befehl, den das i18n-check-Ziel ausführt, und dessen Exit-Code.

Dateien, die in Ordnung sindrecipe 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
Eine fehlerhafte Übersetzungrecipe 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

Richten Sie es in drei Schritten ein

  1. Prüfer installieren

    Führen Sie pip install kaeris auf dem Rechner oder im CI-Image aus, das Ihre Tests ausführt.

  2. Ziel oder Skript hinzufügen

    Fügen Sie das i18n-check-Ziel zum Makefile oder die Skripte i18n:check und pretest zu package.json hinzu, mit Ihren eigenen --source und --langs.

  3. Ihren üblichen Befehl ausführen

    make test oder npm test fü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.

Optionen, die es wert sind, zu kennen

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