Zum Inhalt springen
Zum Inhalt springen

Docs / Anleitungen

Maschinell übersetzte Seite

Diese Seite wurde automatisch übersetzt und kann daher Fehler oder seltsame Formulierungen enthalten. Die englische Version ist die maßgebliche Quelle. Das englische Original lesen.

Eine Sprache hinzufügen

Füge einem verbatra-Projekt eine neue Ziel-Locale hinzu: eine Zeile Konfiguration und ein translate-Lauf, während die bestehenden Locales unangetastet bleiben.

Nutze das, wenn ein Projekt schon in einige Sprachen übersetzt wird und du eine weitere willst. Es braucht eine Zeile Konfiguration und einen Lauf. verbatra behandelt die neue Locale so, als fehle ihr jeder Key, und füllt sie; deine bestehenden Locales kosten nichts, weil die Lock-Datei sie weiterhin als aktuell verzeichnet.

Du brauchst ein funktionierendes Projekt: eine Konfiguration, eine Quell-Locale-Datei und einen Provider-Key. Wenn du noch keins hast, fang mit dem Quickstart an.

Füge die Locale zu deiner Konfiguration hinzu

Trage den Code in targetLocales in verbatra.config.ts ein:

verbatra.config.ts
import { defineConfig } from "@verbatra/cli";

export default defineConfig({
  sourceLocale: "en",
  targetLocales: ["de", "fr"], 
  format: "i18next-json",
  files: { pattern: "locales/{locale}.json" },
  provider: { id: "gemini", options: { model: "gemini-2.5-flash", maxOutputTokens: 4096 } },
});

Regeln für Locale-Codes

Schreib den Code in BCP-47-Form, mit Bindestrich: pt-BR, nicht pt_BR. Wenn deine Dateien Unterstriche verwenden, schreib trotzdem pt-BR und setz files.localeStyle auf posix; verbatra behält den Dateinamen pt_BR.json. Beim Laden der Konfiguration werden ein ungültiger Code, die Quell-Locale und zwei Codes, die sich nur in der Groß- und Kleinschreibung unterscheiden, abgelehnt. Die vollständigen Regeln stehen unter Locale-Codes; mit verbatra doctor siehst du, ob ein Provider die neue Sprache unterstützt.

Sieh dir die Arbeit vorab an

Schau dir an, was ein Lauf tun würde, bevor du etwas ausgibst:

verbatra diff --locales fr

Die neue Locale hat noch keine Datei, also wird jeder Quell-Key als fehlend aufgeführt. Lass --locales weg, um zu prüfen, dass deine anderen Locales nichts auflisten. diff ruft keinen Provider auf und schreibt nichts. Für eine Kostenschätzung führ verbatra translate --estimate aus; siehe Kosten vor einem Lauf schätzen.

Übersetze

verbatra translate

Der Lauf übersetzt jeden Quell-Key in die neue Locale und schreibt die Datei an dein files.pattern, hier locales/fr.json. Nur die neue Locale löst Provider-Aufrufe aus: Die anderen Locales haben gegenüber ihrer Lock-Baseline keine fehlenden oder geänderten Keys, also wird für sie nichts gesendet.

Wenn der Lauf für die neue Locale nichts behält, weil jeder Key eine Prüfung nicht bestanden hat, ihre Provider-Anfragen gescheitert sind oder ein Token-Budget sie zurückgehalten hat, wird keine Datei angelegt. Die Keys bleiben fehlend, und der nächste Lauf versucht sie erneut.

Danach endet verbatra check mit 0, wenn jede Locale, die neue eingeschlossen, synchron ist.

Sprachen mit mehr Pluralkategorien

Manche Sprachen brauchen mehr Pluralformen, als deine Quelle hat. Englisch hat one und other; Polnisch braucht vier, Arabisch sechs, und Französisch ergänzt many. Standardmäßig übersetzt verbatra die Formen, die deine Quelle hat, und erfindet die übrigen nicht: Der Lauf gelingt und meldet einen Hinweis PLURAL_CATEGORIES_INCOMPLETE, der nennt, was fehlt.

Fehlende Formen erzeugen

Wenn du i18next-JSON mit einem LLM-Provider nutzt, kann verbatra die fehlenden Formen schreiben:

verbatra.config.ts
export default defineConfig({
  // ...
  generatePlurals: true,
});

Erzeugte Formen durchlaufen dieselben Integritätsprüfungen wie jede Übersetzung.

Formen aus CLDR

Welche Formen eine Sprache braucht, kommt aus den CLDR-Pluralregeln, die in Node.js eingebaut sind, für jede Sprache, Ordinalzahlen eingeschlossen. Die ICU-Formate (next-intl und ARB) halten einen ganzen Plural in einem Wert und brauchen deshalb keine Erzeugung: Der Provider wird genau nach den Zweigen gefragt, die die Zielsprache verwendet. Unter generatePlurals steht, was auf den Hinweis zurückfällt, und unter Plurale, wie verbatra entscheidet, welche Formen eine Sprache braucht.

Pflege weiter nur die Quelle

Ab jetzt bearbeitest du nur noch die Quell-Locale. Füg dort einen String hinzu und führ translate erneut aus: verbatra trägt ihn in jedes Ziel ein, auch in das gerade hinzugefügte.

Siehe auch

Auf GitHub bearbeiten

Auf dieser Seite