Übersetze nur, was sich geändert hat.
verbatra ist ein CLI und SDK, das deine i18n-Locale-Dateien synchron hält. Du pflegst die Quell-Locale; es füllt jede weitere Locale über den KI-Anbieter, den du wählst.
pnpm add -D @verbatra/cliAn example verbatra command-line session.
- verbatra init
- ✓ created verbatra.config.ts
- source en · targets de, es, fr
- provider anthropic · key from ANTHROPIC_API_KEY
- verbatra translate
- diff en.json · 12 new · 0 changed · 108 unchanged
- de 12 translated · 108 unchanged · 0 withheld
- es 12 translated · 108 unchanged · 0 withheld
- fr 12 translated · 108 unchanged · 0 withheld
- ✓ 36 keys translated in 5.4s · 0 skipped · lock updated
- verbatra diff
- en.json · 120 keys · source of truth
- de 2 new · 1 changed · 117 up to date
- es 0 new · 0 changed · 120 up to date
- fr 5 new · 0 changed · 115 up to date
- 8 keys would be sent · run verbatra translate to apply
- verbatra watch
- watching en.json for changes
- en.json changed · 1 new key
- de 1 translated · 0 withheld
- es 1 translated · 0 withheld
- fr 1 translated · 0 withheld
- ✓ 3 keys translated · waiting for changes
Ein Tool für den gesamten Übersetzungsablauf.
verbatra ist mehr als KI-Übersetzung. Es deckt maschinelle Übersetzung ab, die du steuerst, eine saubere Excel-Übergabe für menschliche Übersetzer und die Automatisierung, um jede Locale synchron zu halten.
KI-Übersetzung
Übersetze nur, was sich geändert hat, über den Anbieter deiner Wahl: Anthropic, OpenAI, Gemini, DeepL oder einen beliebigen OpenAI-kompatiblen Server, den du selbst betreibst. Eine eingecheckte Lock-Datei hält jeden Lauf inkrementell, und die Platzhalter- und ICU-Integrität wird geprüft, bevor irgendetwas geschrieben wird.
Excel-Übergabe
Führe verbatra export aus, um eine gestylte .xlsx-Arbeitsmappe zu erzeugen, gib sie an ein Übersetzungsbüro oder interne Übersetzer, und verbatra import liest ihre Änderungen zurück in deine Locale-Dateien. Kombiniere maschinelle Übersetzung mit professioneller menschlicher Arbeit.
Automatisierung
Halte jede Locale synchron, während du arbeitest: verbatra watch übersetzt bei Änderungen, CI-freundliche Exit-Codes und --json-Ausgabe fügen sich in jede Pipeline ein, und eine GitHub Action führt es in deinem Workflow aus.
Ein Werkzeug, jedes Framework.
verbatra liest die Locale-Dateien, die dein Stack bereits verwendet: JSON für i18next, vue-i18n, next-intl und ngx-translate sowie XLIFF, YAML und Flutter ARB. Es füllt sie über den Anbieter, den du wählst, ohne dass du ein neues Format übernehmen musst.
- Frameworks und Formate:
- React
- Next.js
- Vue
- Nuxt
- Angular
- Node.js
- SvelteKit
- Astro
- React Native
- Flutter
Übersetze über das Modell, dem du vertraust.
Anthropic, OpenAI, Gemini, DeepL oder einen beliebigen OpenAI-kompatiblen Server, den du selbst hostest. Wähle eines in einer einzigen Konfigurationszeile und wechsle den Anbieter, ohne deine Locale-Dateien anzufassen.
- Übersetzungsanbieter:
- Anthropic
- OpenAI
- Gemini
- DeepL
Ein Lauf ist eine kurze, vorhersehbare Pipeline.
Keine Magie, keine Hintergrundsynchronisierung: eine deterministische Abfolge, die du von oben nach unten lesen kannst.
- 01
Konfigurieren
Richte verbatra auf deine Quell-Locale, liste die Zielsprachen auf und wähle einen Anbieter. Die Konfiguration liegt in einer Datei; API-Schlüssel bleiben in deiner Umgebung.
- 02
Vergleichen
Jeder Lauf vergleicht deine Quell-Locale mit der eingecheckten Lock-Datei und sortiert jeden Schlüssel in neu, geändert, unverändert oder verwaist ein.
- 03
Übersetzen
Nur die neuen und geänderten Schlüssel werden in Stapeln an deinen Anbieter gesendet, mit deinem Glossar und Tonfall. Alles andere bleibt unangetastet.
- 04
Prüfen und schreiben
Die Integrität von Platzhaltern und ICU wird bei jedem Ergebnis geprüft. Alles, was kaputtgeht, wird zurückgehalten; der Rest wird in deine Locale-Dateien geschrieben und die Lock-Datei wird aktualisiert.
Gebaut für Teams, die in vielen Sprachen ausliefern.
Jede Entscheidung begünstigt Vorhersehbarkeit: kleine Diffs, explizite Konfiguration und nichts, was nicht zuerst geprüft wurde, wird geschrieben.
Standardmäßig inkrementell
Eine eingecheckte Lock-Datei hält fest, was übersetzt wurde. Jeder Lauf vergleicht die Quelle und ruft den Anbieter nur für die Schlüssel auf, die sich geändert haben.
Der Anbieter deiner Wahl
Anthropic, OpenAI, Gemini, DeepL oder ein lokales OpenAI-kompatibles Modell, gewählt in einer Konfigurationszeile. Wechsle den Anbieter, ohne deine Locale-Dateien anzufassen.
Sicher durch Konstruktion
Die Integrität von Platzhaltern und ICU wird nach jeder Übersetzung geprüft. Ein Ergebnis, das einen Platzhalter kaputtmacht, wird zurückgehalten und nie geschrieben.
Schlüssel bleiben in deiner Umgebung
API-Schlüssel des Anbieters werden aus Umgebungsvariablen gelesen, nie aus der Konfigurationsdatei, nie aus CLI-Argumenten und nie protokolliert.
CLI und SDK, eine Engine
Der Befehl verbatra und @verbatra/sdk teilen sich einen einzigen Orchestrierungskern, sodass Skripte, CI und dein eigenes Werkzeug sich identisch verhalten.
Probeläufe und Watch-Modus
Sieh dir genau an, was ein Lauf ändern würde, ohne etwas zu schreiben, oder halte einen Watch-Modus am Laufen, der übersetzt, während sich deine Quell-Locale weiterentwickelt.
Häufig gestellte Fragen
Kurze, direkte Antworten auf die Fragen, die Teams vor der Einführung von verbatra stellen.
Es führt eine eingecheckte Lock-Datei, die festhält, was bereits übersetzt wurde. Jeder Lauf vergleicht deine Quell-Locale mit dieser Lock-Datei und sendet nur die neuen oder geänderten Schlüssel an deinen Anbieter. Unveränderte Schlüssel werden nie angefasst, sodass ein typischer Lauf eine Handvoll Strings kostet, nicht deinen ganzen Katalog.
Fünf, hinter einer Schnittstelle: Anthropic, OpenAI und Gemini (LLMs), DeepL (maschinelle Übersetzung) und openai-compatible, das verbatra auf einen lokalen oder selbst gehosteten Server wie Ollama, LM Studio oder vLLM richtet. Du wählst einen per id in deiner Konfiguration und kannst später durch Ändern dieser einen Zeile wechseln. Gemini hat einen echten kostenlosen Tarif, und ein lokales Modell kostet pro Aufruf nichts.
JSON für i18next, vue-i18n, next-intl und ngx-translate sowie XLIFF, YAML und Flutter ARB. Das deckt React, Next.js, Vue, Nuxt, Angular, SvelteKit, Astro, Node.js und Flutter ab. verbatra liest die Dateien, die du bereits hast; es gibt kein verbatra-spezifisches Format, auf das du migrieren müsstest.
Ein lokales Web-Dashboard über deinem Projekt, das den Status jeder Locale live anzeigt, eine Prüfliste markierter Einträge bereithält und dich Übersetzungen direkt korrigieren lässt. Starte es mit verbatra studio (installiere zuerst @verbatra/studio). Das Bearbeiten deiner eigenen Locale-Dateien funktioniert von Haus aus; ein Anbieter-Aufruf aus der Oberfläche ist optional und liegt hinter --allow-spend. Es läuft nur auf 127.0.0.1 und verlässt deinen Rechner nie.
Jedes Ergebnis durchläuft eine Prüfung der Platzhalter- und ICU-Integrität, bevor es geschrieben wird. Eine Übersetzung, die einen Platzhalter weglässt, erfindet oder umsortiert oder ungültige ICU-Nachrichtensyntax erzeugt, wird zurückgehalten, statt in deine Locale-Datei gespeichert zu werden. Dieselbe Prüfung gilt für Bearbeitungen und Neuübersetzungen in Verbatra Studio.
Schlüssel werden nur aus Umgebungsvariablen gelesen (ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, DEEPL_API_KEY), nie aus der Konfigurationsdatei, aus CLI-Argumenten oder aus Logs. Gesendet werden nur die Strings, die du gerade übersetzt, und nur an den Anbieter, den du gewählt hast. Wenn du den openai-compatible-Anbieter mit einem lokalen Modell nutzt, verlässt überhaupt nichts deinen Rechner oder dein Netzwerk.
Ja. Ein Probelauf meldet genau, welche Schlüssel gesendet und geschrieben würden, ohne deine Dateien anzufassen, und verbatra check und verbatra diff melden die Abweichung pro Locale, ohne einen Anbieter aufzurufen. Der Watch-Modus macht das Gegenteil: Er übersetzt weiter, während sich deine Quell-Locale ändert.
Ja. Das CLI ist ein dünner Wrapper um @verbatra/sdk, das dieselben translate-, watch-, check- und diff-Operationen für dein eigenes Werkzeug bereitstellt. Die Befehle liefern CI-freundliche Exit-Codes und unterstützen --json-Ausgabe, und eine offizielle GitHub Action führt verbatra in deinem Workflow aus.
verbatra selbst ist kostenlos und quelloffen unter der MIT-Lizenz. Der einzige Kostenfaktor ist die Nutzung deines Anbieters, die du steuerst: Es übersetzt nur, was sich geändert hat, und du kannst es kostenlos auf Geminis kostenlosem Tarif oder einem lokalen OpenAI-kompatiblen Modell betreiben.
Es ist jung und wird aktiv weiterentwickelt, also fixiere eine Version und lies das Changelog, wenn du aktualisierst. Das Sicherheitsmodell ist bereits solide: Jeder Lauf vergleicht mit einer eingecheckten Lock-Datei, prüft die Platzhalter- und ICU-Integrität bei jedem Ergebnis und hält alles zurück, was kaputtgeht, statt es zu schreiben. Teams setzen es heute in CI ein; fixierst du Versionen, stehst du auf stabilem Boden.
Schluss mit dem manuellen Synchronisieren von Locale-Dateien.
Füge verbatra hinzu, checke die Lock-Datei ein und lass jeden Lauf nur das anfassen, was sich geändert hat.