Zum Inhalt springen

Übersetze nur, was sich geändert hat

Verbatra hasht jeden Schlüssel in einer Lock-Datei, sendet nur geänderte Schlüssel an deinen Anbieter und lässt die CI bei Abweichungen fehlschlagen.

Loslegen
npm i -D @verbatra/cli

Funktioniert mit deinen Sprachdateien und Anbietern

Dateiformate

  • i18next JSON
  • vue-i18n JSON
  • next-intl JSON
  • ngx-translate JSON
  • XLIFF
  • YAML
  • Flutter ARB
  • Java/Spring .properties
  • Apple .strings
  • Xcode String Catalog
  • Android strings.xml
  • gettext .po/.pot
  • INI
  • .NET .resx

Anbieter

  • Anthropic
  • OpenAI
  • Gemini
  • DeepL
  • Google Cloud Translation
  • OpenCode
  • OpenAI-compatible
  • LibreTranslate

Ein Durchlauf, ein Locale

2 Schlüssel verlassen deinen Computer, 12 bleiben erhalten

de: 2 translated, 12 unchanged, 359 tokens (318 in, 41 out)

Alles rund um den Diff

Eine CLI, ein SDK, ein lokales Studio und ein MCP-Server, die alle dieselbe Lock-Datei lesen.

Übersetzen

Alles neu zu übersetzen kostet mehr

Nur 4 von 28 Übersetzungen sind neu oder geändert, also gehen nur 4 an deinen Anbieter.

$ npx @verbatra/cli translate
  de: 2 translated, 12 unchanged, 359 tokens (318 in, 41 out)
  fr: 2 translated, 12 unchanged, 366 tokens (322 in, 44 out)
  total: 725 tokens (640 in, 85 out)
2 succeeded, 0 partial, 0 failed

Prüfung

Fehlende Schlüssel erreichen die Produktion

exit 1

Der Check endet mit 1, solange einer Locale Schlüssel fehlen. Er braucht keinen API-Schlüssel und läuft deshalb bei jedem Pull Request.

Integrität

Ein kaputter Platzhalter führt zu einem kaputten Bildschirm

  • de: Willkommen zurück, {name}!
  • es: ¡Bienvenido de nuevo, {name}!
  • fr: Bienvenue, {name} !
  • ja: おかえりなさい、{name}さん!

Agenten

Dein Coding-Agent korrigiert Übersetzungen

Registriere den MCP-Server für das Projekt, und der Agent kann den Status lesen und Übersetzungen korrigieren. Tools, die Provider-Tokens verbrauchen, bleiben deaktiviert, bis du sie zulässt.

claude mcp add --transport stdio --scope project verbatra -- npx -y @verbatra/mcp

Eine Zeichenkette mit dem SDK übersetzen

Wähle einen String aus und schau zu, wie der SDK-Aufruf ihn in jede Sprache unten übersetzt. Platzhalter bleiben genau an ihrem Platz.

en → de, es, fr, jaFertig
Quelle (en)Welcome back, {name}!
Quellzeichenkette
Zielsprachen
Integritätsprüfung bestanden: 4 von 4 Platzhaltern intaktGesendet 1Behalten 9Platzhalter 4/4
translate.ts
@verbatra/sdk
import { defineConfig, loadConfig, translate } from "@verbatra/sdk";

const config = await loadConfig({
  configOverride: defineConfig({
    sourceLocale: "en",
    targetLocales: [
      "de",
      "es",
      "fr",
      "ja",
    ],
    format: "next-intl-json",
    files: { pattern: "messages/{locale}.json" },
    provider: {
      id: "gemini",
      options: { model: "gemini-2.5-flash", maxOutputTokens: 2048 },
    },
  }),
});

const summary = await translate({ config });
translate()Abgeschlossen

Vorgeneriert mit dem Verbatra SDK und Gemini, nicht live.

Wie diese Ergebnisse generiert wurden

Anbieter
Gemini
Modell
gemini-2.5-flash
Generiert
Jedes vorgenerierte Ergebnis, eine Zeile pro Quellzeichenkette
Quelle (Englisch)DeutschSpanischFranzösischJapanisch
Save changesÄnderungen speichernGuardar cambiosEnregistrer les modifications変更を保存
Sign inAnmeldenIniciar sesiónSe connecterサインイン
Welcome back, {name}!Willkommen zurück, {name}!¡Bienvenido de nuevo, {name}!Bienvenue, {name} !おかえりなさい、{name}さん!
You have {count} new messagesSie haben {count} neue NachrichtenTienes {count} mensajes nuevosVous avez {count} nouveaux messages{count}件の新しいメッセージがあります
Your cart is empty.Ihr Warenkorb ist leer.Tu carrito está vacío.Votre panier est vide.カートは空です。
Delete this file?Diese Datei löschen?¿Eliminar este archivo?Supprimer ce fichier ?このファイルを削除しますか?
Don't show this againNicht wieder anzeigenNo mostrar esto de nuevoNe plus afficher ceci今後表示しない
SettingsEinstellungenConfiguraciónParamètres設定
Only changed keys get translated.Es werden nur geänderte Schlüssel übersetzt.Solo las claves modificadas se traducen.Seules les clés modifiées sont traduites.変更されたキーのみが翻訳されます。
VerbatraVerbatraVerbatraVerbatraVerbatra

Funktionen

Für den gesamten Übersetzungs-Workflow entwickelt

Vom ersten String in deinem Quellcode bis zur überprüften Übersetzung in der Produktion.

  • Im Studio überprüfen

    Ein lokales Dashboard für dein Projekt: durchsuche jedes Locale, arbeite die Überprüfungswarteschlange ab und bearbeite Werte direkt.

  • An Leute übergeben

    Exportiere eine Excel-Arbeitsmappe, CSV, TSV oder XLIFF für einen Übersetzer und importiere sie zurück. Importierte Werte bleiben vor späteren Maschinenläufen geschützt.

  • Aus der Quelle extrahieren

    Scanne deinen Code nach Übersetzungsaufrufen und füge die neuen Schlüssel zum Quell-Locale hinzu, bevor sie jemand übersetzt.

  • Beobachten, während du baust

    Lass einen Watcher während der Entwicklung laufen, und jede Änderung am Quell-Locale wird übersetzt, sobald du speicherst.

  • Typisierte Schlüssel

    Generiere TypeScript-Deklarationen für deine Schlüssel und Nachrichtenargumente, sodass ein Tippfehler in einem Schlüssel den Build fehlschlagen lässt.

  • Wissen, bevor du zahlst

    Doctor prüft dein Setup ohne API-Schlüssel, und eine Schätzung beziffert einen Durchlauf, bevor er dich etwas kostet.

Bevor du Verbatra installierst

Kurze Antworten, jede mit der Docs-Seite, die tiefer geht.

Ist Verbatra kostenlos?

Ja. Verbatra ist kostenlos und Open Source unter der MIT-Lizenz (öffnet in einem neuen Tab), und du bezahlst deinen Anbieter nur für die geänderten Schlüssel; Kostenschätzung berechnet zuerst einen Durchlauf.

Welche Übersetzungs-Anbieter unterstützt Verbatra?

Anthropic, OpenAI, Gemini, DeepL, Google Cloud Translation, OpenCode, OpenAI-compatible und LibreTranslate. Setze einen im provider-Block, oder none, wenn nur Menschen übersetzen; die Anbieterseite deckt jeden ab.

Sendet Verbatra meine Strings oder API-Schlüssel irgendwohin?

Nur an den von dir konfigurierten Anbieter, wenn ein Befehl übersetzt; es gibt keine Telemetrie. Schlüssel bleiben in Umgebungsvariablen, und Datenverarbeitung listet auf, was jeder Anbieter erhält.

Kann Verbatra einen Pull Request fehlschlagen lassen, wenn Übersetzungen fehlen?

Ja. verbatra check beendet sich mit Exit-Code 1, solange eine Sprachdatei fehlende oder veraltete Schlüssel enthält, und braucht keinen API-Schlüssel; die GitHub Action führt dies bei Pull Requests aus.

Wie unterscheidet sich Verbatra von anderen i18n-Tools?

Es ist eine CLI, die auf deinen eigenen committeten Dateien läuft, keine gehostete Plattform. Die Vergleichsseite prüft sie gegen andere Tools, mit Quellen, auch dort, wo diese stärker sind.

Bevor du einen Token ausgibst

Beginne mit einem Probelauf

Dieser Pfad ist für ein Projekt, das bereits Lokalisierungsdateien hat, und keiner der Schritte benötigt einen API-Schlüssel.

npx @verbatra/cli init
npx @verbatra/cli translate --dry-run