Cookbook: 30 Sprachen übersetzen
Skalieren Sie ein Projekt von einer Handvoll Sprachen auf globale Abdeckung. Dieses Cookbook führt durch die Methodenauswahl, Kostenoptimierung und CI-Integration für ein reales mehrsprachiges Deployment.
Szenario: Sie haben eine SaaS-Anwendung mit en, fr, es. Sie müssen 27 weitere Sprachen über drei Stufen von Qualitätsanforderungen hinzufügen.
Schritt 1: Kategorisieren Sie Ihre Sprachen
Nicht alle 30 Sprachen benötigen denselben Ansatz. Gruppieren Sie sie nach der verfügbaren Methodenqualität:
| Stufe | Sprachen | Methode | Begründung |
|---|---|---|---|
| Stufe 1 — Premium | ja, ko, zh, de, pt | llm (GPT-4o) | Hochwertige Märkte, nuancierte Grammatik |
| Stufe 2 — Standard | it, nl, pl, sv, da, fi, no, cs, ro, hu, el, tr, id, ms, th, vi, uk, bg | google-translate | Hohes Volumen, gut von Google unterstützt |
| Stufe 3 — Gecoacht | crk, oj, mi, haw | llm-coached + Plugins | Ressourcenarm, erfordern Terminologiedurchsetzung |
Schritt 2: Pro Paar konfigurieren
{
"version": 3,
"inputLocale": "en",
"localesDir": "./locales",
"defaultMethod": "google-translate",
"model": "google/gemini-3.5-flash",
"languages": {
"ja": { "name": "Japanese", "register": "Polite/formal" },
"ko": { "name": "Korean", "register": "Formal" },
"zh": { "name": "Simplified Chinese", "register": "Neutral" },
"de": { "name": "German", "register": "Formal (Sie)" },
"pt": { "name": "Brazilian Portuguese", "register": "Informal" },
"crk": { "name": "Plains Cree (SRO)", "register": "Neutral" }
},
"pairs": {
"en:ja": { "method": "llm", "model": "openai/gpt-4o" },
"en:ko": { "method": "llm", "model": "openai/gpt-4o" },
"en:zh": { "method": "llm", "model": "openai/gpt-4o" },
"en:de": { "method": "llm", "model": "openai/gpt-4o" },
"en:pt": { "method": "llm", "model": "openai/gpt-4o" },
"en:crk": { "methodPlugin": "crk-coached-v1" }
}
}
Hinweis: Sprachen, die nicht in pairs aufgeführt sind, erben defaultMethod: "google-translate". Sie müssen nicht alle 30 auflisten.
Die Unterstützung für crk befindet sich in Entwicklung — siehe Eine ressourcenarme Sprache unterstützen für den Status und Richtlinien zur Mitwirkung.
Schritt 3: API-Schlüssel einrichten
Für diese Konfiguration benötigen Sie beide API-Schlüssel:
export OPENROUTER_API_KEY="sk-or-v1-..."
export GOOGLE_TRANSLATE_API_KEY="AIza..."
Schritt 4: Zuerst ein Probelauf
Erstellen Sie immer eine Vorschau, bevor Sie 30 Sprachen übersetzen:
npx champollion sync --dry
Überprüfen Sie die Ausgabe. Sie zeigt:
- Welche Paare welche Methode verwenden
- Wie viele Schlüssel pro Sprache neu/geändert sind
- Geschätzte API-Aufrufe pro Stufe
Schritt 5: Die Synchronisation ausführen
npx champollion sync
Champollion verarbeitet jedes Paar unabhängig. Die Paare der Stufe 2, die Google Translate verwenden, sind schnell. Die LLM-Paare der Stufe 1 sind langsamer, aber von höherer Qualität. Die gecoachten Paare der Stufe 3 verwenden die Coaching-Daten des Plugins.
Inkrementelle Aktualisierungen
Nach der ersten Synchronisation übersetzen nachfolgende Durchläufe nur geänderte oder neue Schlüssel:
# Only keys that changed since last sync
npx champollion sync
Die Lock-Datei (.champollion.lock) verfolgt, was übersetzt wurde, sodass Sie stabile Inhalte niemals erneut übersetzen.
Schritt 6: Qualität prüfen
Prüfen Sie den Status aller Sprachpaare:
npx champollion status
Dies gibt eine Tabelle aus, die für jedes Paar die Methode, das Modell, die Qualitätsstufe sowie die Verfügbarkeit von Coaching-Daten oder Benchmark-Werten anzeigt.
Hat die Ausgabe Ihre Register respektiert?
In Schritt 2 haben Sie pro Sprache ein Register deklariert — "Polite/formal" für Japanisch, "Formal (Sie)" für Deutsch. (Der Begriff ist Ihnen neu? Das Glossar erklärt ihn in einfacher Sprache.) Diese Anweisungen gehen in den Übersetzungs-Prompt ein, aber ein Prompt ist eine Anfrage, keine Garantie.
Der MT Eval Arena Harness — dasselbe Werkzeug, das die öffentliche Bestenliste antreibt — kann die Einhaltung von Register und Stil anhand einer Stichprobe Ihrer Übersetzungen messen. Seine Schreibstil-Metriken prüfen jede Ausgabe gegen das erwartete Register (formelle/informelle Marker, T–V-Pronomen, Kontraktionen, Abweichung der Satzlänge) und berichten einen style_consistency_rate über den gesamten Durchlauf. Sie können es auch mit --style-profile auf ein benutzerdefiniertes Markenstimmen-Profil ausrichten.
# install the harness, then run your sample corpus through it
curl -fsSL champollion.dev/harness | bash
mt-eval run --corpus my-sample.json --style-profile brand-voice.json
Zwei ehrliche Einschränkungen: Diese Metriken sind informativ (sie fließen niemals in die zusammengesetzte Wertung der Bestenliste ein), und die Formalitätserkennung ist markerbasiert — ein Abweichungsdetektor, kein menschliches Urteil. Details und Metrikdefinitionen: Schreibstil- und Register-Metriken.
Schritt 7: CI-Integration
Fügen Sie dies Ihrem GitHub-Actions-Workflow hinzu, damit Übersetzungen bei jedem Push aktuell bleiben:
name: Sync Translations
on:
push:
paths:
- 'locales/en/**'
jobs:
translate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- name: Sync translations
run: npx champollion sync
env:
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
GOOGLE_TRANSLATE_API_KEY: ${{ secrets.GOOGLE_TRANSLATE_API_KEY }}
- name: Commit updated translations
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add locales/
git diff --staged --quiet || git commit -m "chore(i18n): sync translations"
git push
Kostenschätzung
Für ein Projekt mit 500 Quellschlüsseln über 30 Sprachen:
| Stufe | Sprachen | Methode | Ungefähre Kosten |
|---|---|---|---|
| Stufe 1 (5 Sprachen) | ja, ko, zh, de, pt | GPT-4o | ~$2,50/vollständige Synchronisation |
| Stufe 2 (18 Sprachen) | it, nl, pl, usw. | Google Translate | ~$0,90/vollständige Synchronisation |
| Stufe 3 (4 Sprachen) | crk, oj, mi, haw | GPT-4o-mini gecoacht | ~$0,40/vollständige Synchronisation |
| Gesamt | 30 Sprachen | Gemischt | ~$3,80/vollständige Synchronisation |
Inkrementelle Synchronisationen (5–20 geänderte Schlüssel) kosten einen Bruchteil einer vollständigen Synchronisation.
Siehe auch
- Übersetzungsmethoden — Wie jede Übersetzungsmethode funktioniert und wann sie zu verwenden ist
- Plugin-Spezifikation — Erstellen Sie Coaching-Daten für jede Ihrer Stufe-3-Sprachen
- CI/CD-Leitfaden — Fortgeschrittene CI-Muster einschließlich PR-Vorschau-Builds
- Quality Gate — Wie Champollion jede Übersetzung validiert, bevor sie geschrieben wird
- Unterstützte Sprachen — Vollständige Liste der Sprachcodes und Methodenkompatibilität
- Schreibstil- und Register-Metriken — Messen Sie die Einhaltung von Register/Stil mit dem Eval-Harness (informative Metriken)
- Glossar: Register — Was „Register“ bedeutet, in einfacher Sprache
- Eine ressourcenarme Sprache unterstützen — Coaching-Daten für Sprachen ohne breite MT-Abdeckung hinzufügen