YAML-Locale-Dateien übersetzen, Rails-Stil
Eine YAML-Datei im Rails-Stil beginnt mit dem Sprachcode, verschachtelt alles darunter und die Strings enthalten %{name}-Variablen. KAERIS übersetzt die Werte, schreibt den Root-Schlüssel für die Zielsprache neu und prüft, ob jede Variable übernommen wurde.
KAERIS hat diese Seite übersetzt und jede Zeile durch Rückübersetzung geprüft. Ein Muttersprachler hat sie noch nicht überprüft. Englisches Original
Wie eine YAML-Locale-Datei aufgebaut ist
Die erste Zeile ist das Locale (en:); jeder Schlüssel lebt darunter. Pluralformen sind einfache Schlüssel wie one und other. Listen werden unterstützt. Eine Datei, die eine flache Zuordnung ohne Root-Locale ist, wird ebenfalls gelesen, und ihre gepunkteten Schlüssel bleiben wie geschrieben.
en: greeting: "Welcome back, %{name}!" inbox: one: "%{count} new message" other: "%{count} new messages" errors: blank: "can't be blank" too_short: "is too short (minimum is %{count} characters)" checkout: total: "Total: <strong>%{amount}</strong>"
Worauf bei YAML-Übersetzungen zu achten ist
Der Root-Schlüssel folgt der Datei
en:muss in der deutschen Datei zude:werden, sonst findet Rails sie nie. KAERIS schreibt die Zielsprache als Root.%{variables} und HTML
Rails-Interpolation ist
%{name}; einige Projekte verwenden{{name}}. Beide werden mit der Quelle verglichen. Inline-Tags wie<strong>werden auf dieselbe Weise geprüft.Anführungszeichen
Ein übersetzter Wert, der mit
[,*oder&beginnt oder:enthält, ist ohne Anführungszeichen kein gültiges YAML. Der Autor entscheidet selbst über die Anführungszeichen: Im Beispielausgabe wird ein Wert, der mit%{count}beginnt, in Anführungszeichen gesetzt.Kommentare reisen nicht mit
YAML-Kommentare in der Quelle werden nicht in die übersetzte Datei übernommen. Notizen für Übersetzer sollten in Service-Schlüsseln (ein Schlüssel, der mit
_beginnt, wird nicht übersetzt) oder in Ihrem Repository aufbewahrt werden.
Ein realer Durchlauf: ins Deutsche übersetzt und geprüft
Ein realer Durchlauf, 27. Oktober 2026, nichts von Hand bearbeitet: kaeris translate en.yml --langs de mit kaeris 0.2.35, 3 Sekunden, Modell google/gemini-2.5-flash-lite, dem kostenlosen Standard. Unten die deutsche Datei, die es geschrieben hat, und was kaeris check dazu sagt.
de: greeting: Willkommen zurück, %{name}! inbox: one: '%{count} neue Nachricht' other: '%{count} neue Nachrichten' errors: blank: darf nicht leer sein too_short: ist zu kurz (mindestens %{count} Zeichen) checkout: total: 'Gesamt: <strong>%{amount}</strong>'
$ kaeris check --source en.yml --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
Was KAERIS damit macht
Struktur beibehalten
Verschachtelung, Schlüsselreihenfolge und Listen kommen gleich zurück; der Root-Locale-Schlüssel wird für jede Sprache neu geschrieben.
Variablen und Tags geprüft
Eine verlorene
%{name}oder<strong>wird durch Zählen gefunden, ohne dass ein Modell beteiligt ist.Kostenlose Prüfung für dieses Format
Die kostenlose Prüfung auf /check liest dieses Format und läuft ohne Schlüssel oder Konto. Der Terminalbefehl
kaeris checkliest es ebenfalls: Er verarbeitet alle 13 Formate seit kaeris 0.2.35, mit denselben Regeln und ohne Übertragung von Daten.
In drei Schritten ausführen
CLI installieren
Führen Sie
pip install kaerisaus.Datei übersetzen
Führen Sie
kaeris translate config/locales/en.yml --langs de,jaaus. Ausgabedateien werden nach Sprache benannt.Ergebnis prüfen
Laden Sie die Quelle und die übersetzte Datei auf der kostenlosen Prüfseite hoch; sie listet verlorene Variablen, Tags und fehlende Schlüssel auf.
pip install kaeris kaeris translate config/locales/en.yml --langs de,ja --verify
Fragen
Funktioniert es für Rails en.yml?
Ja. Der Root-Schlüssel en:, verschachtelte Schlüssel und %{name}-Variablen werden behandelt. Siehe auch die Rails-Seite.
Was ist mit Kommentaren in meinem YAML?
Sie bleiben in Ihrer Quelldatei. Die übersetzte Datei wird ohne sie geschrieben.
Ist es kostenlos?
Ja, ohne Konto: 10.000 Zeichen pro Datei und bis zu 8 Sprachen pro Lauf. Ein kostenloser API-Schlüssel erhöht das Dateilimit auf 50.000 Zeichen. Lebenslang kostet es einmalig 79 $, mit deinem eigenen OpenRouter-Schlüssel; monatliche Pläne beginnen bei 19 $. Preise
Kann ich es vom Terminal oder in CI ausführen?
Ja. pip install kaeris, dann kaeris translate config/locales/en.yml --langs de,ja. Die GitHub Action führt dieselbe Übersetzung in einem Pull Request aus. CLI-Dokumentation · GitHub Action
Weiter geht's
CLI-Referenz · Check-Referenz · Im Browser übersetzen · Kostenlose Prüfung · Formate konvertieren · Pseudo-Lokalisierung
Andere Formate: JSON · .po · ARB · XLIFF · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML