Übersetzen

Übersetze gettext .po-Dateien

Eine .po-Datei ist textbasiert: der englische Satz ist der Schlüssel. Kontexte, Pluralformen und Python-ähnliche Variablen sitzen um diesen Text herum. KAERIS behält sie bei und schreibt die Pluralformen, die die Zielsprache benötigt.

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 .po-Datei aufgebaut ist

Jeder Eintrag hat ein msgid (der Quelltext) und ein msgstr (die Übersetzung). msgctxt unterscheidet zwei identische Sätze. Pluralformen verwenden msgid_plural und eine msgstr[n] pro Form, und die Zeile Plural-Forms im Header gibt an, wie viele Formen die Sprache hat.

Quelldateien.po
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: app/views.py:12
msgid "Welcome back, %(name)s!"
msgstr ""

#: app/views.py:20
msgid "%(count)d file"
msgid_plural "%(count)d files"
msgstr[0] ""
msgstr[1] ""

msgctxt "menu"
msgid "Open"
msgstr ""

msgctxt "verb"
msgid "Open"
msgstr ""

Worauf bei .po-Übersetzungen zu achten ist

Ein realer Durchlauf: ins Deutsche übersetzt und geprüft

Eine reale Ausführung, 27. Oktober 2026, nichts manuell bearbeitet: kaeris translate en.po --langs de mit kaeris 0.2.35, 3,9 Sekunden, Modell google/gemini-2.5-flash-lite, der Standard der kostenlosen Stufe. Unten die deutsche Datei, die es geschrieben hat, und was kaeris check dazu sagt.

Deutsches Ergebnisde.po
# Generated by KAERIS i18n Tool
# Language: de
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: de\n"

msgid "Welcome back, %(name)s!"
msgstr "Willkommen zurück, %(name)s!"

msgid "%(count)d file"
msgid_plural "%(count)d files"
msgstr[0] "%(count)d Datei"
msgstr[1] "%(count)d Dateien"

msgctxt "menu"
msgid "Open"
msgstr "Öffnen"

msgctxt "verb"
msgid "Open"
msgstr "Öffnen"
kaeris checkexit code 0
$ kaeris check --source en.po --langs de
✓ de: complete & placeholder-safe
✓ all locales complete & placeholder-safe

Was KAERIS damit macht

In drei Schritten ausführen

  1. CLI installieren

    Führen Sie pip install kaeris aus.

  2. Übersetze den Katalog

    Führe kaeris translate django.po --langs de,ja aus. Ausgabedateien werden nach Sprache benannt.

  3. Überprüfe das Ergebnis

    Lade die Quelle und eine übersetzte .po-Datei auf der kostenlosen Prüfseite hoch, um verlorene Variablen und inkonsistente Begriffe zu sehen.

pip install kaeris
kaeris translate locale/en/LC_MESSAGES/django.po --langs de,ja --verify

Fragen

Werden Pluralformen für Russisch oder Arabisch behandelt?

Der Plural-Header und die Anzahl der msgstr[n]-Slots werden für die Zielsprache geschrieben. In einer Ausführung mit Russisch ergab das Beispiel nplurals=3 und drei Slots.

Was ist mit msgctxt?

Der Kontext bleibt mit dem Eintrag verbunden, sodass zwei identische Quellen mit unterschiedlichen Kontexten getrennte Zeichenfolgen sind. Die Prüfung warnt, wenn sie unterschiedlich übersetzt zurückkommen.

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 django.po --langs de,ja. Siehe auch Django. Die GitHub Action führt die gleiche Ü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 · YAML · ARB · XLIFF · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML