Übersetze Angular $localize-Dateien und überprüfe dann jede Zeile
ng extract-i18n schreibt standardmäßig XLIFF, mit Interpolationen als <x>-Tags und ICU-Pluralformen darin. Lasse ein Tag weg und ng build --localize schlägt fehl. KAERIS schreibt für jede Einheit ein <target> und behält jedes Tag und jede ID bei.
KAERIS hat diese Seite übersetzt und jede Zeile durch Rückübersetzung geprüft. Ein Muttersprachler hat sie noch nicht überprüft. Englisches Original
Interpolationen bleiben als <x>-Tags
Der equiv-text jedes Tags bleibt erhalten, sodass der Build immer noch weiß, was {{ name }} war.
<trans-unit id="welcome" datatype="html">
<source>Welcome back, <x id="INTERPOLATION" equiv-text="{{ name }}"/>!</source>
</trans-unit>
<trans-unit id="save" datatype="html">
<source>Save changes</source>
</trans-unit>
<trans-unit id="welcome" datatype="html"> <source>Welcome back, <x id="INTERPOLATION" equiv-text="{{ name }}"/>!</source> <target>Willkommen zurück, <x id="INTERPOLATION" equiv-text="{{ name }}"/>!</target> </trans-unit> <trans-unit id="save" datatype="html"> <source>Save changes</source> <target>Änderungen speichern</target> </trans-unit>
Was KAERIS damit macht
Deine IDs, unverändert
Benutzerdefinierte
@@idsund generierte IDs bleiben unverändert, sodass Übersetzungen an ihren Nachrichten angehängt bleiben.Variablen ohne KI überprüft
Nach der Übersetzung vergleicht eine einfache Zählprüfung jede Variable und jedes Tag mit dem Original. Eine Zeile, die eine verloren hat, wird markiert und oben angezeigt.
Jede Zeile zurückübersetzt
Ein anderes Modell, GPT-4o mini, übersetzt jede Zeile zurück in deine Sprache, und DeepSeek V3.2 auf US-Hosts (DeepInfra, DigitalOcean, Google) beurteilt, ob sich die Bedeutung geändert hat. Du liest, was jede Zeile jetzt sagt.
Fragen
Liest es auch --format json?
Ja. Das JSON, das ng extract-i18n --format json schreibt, wird Schlüssel für Schlüssel übersetzt, einschließlich ICU-Blöcken.
Wird XLIFF 2.0 unterstützt?
Noch nicht. Das Standard-xlf von Angular ist XLIFF 1.2, das funktioniert.
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 mit deiner Datei und --langs de,ja. Eine GitHub Action öffnet eine Pull-Anfrage, wenn neue Schlüssel landen. Dokumentation