Architektur
Das Champollion-Übersetzungsökosystem besteht aus drei unabhängigen Tools, die über klar definierte Verträge zusammenarbeiten. Keines von ihnen hängt zur Build-Zeit von einem anderen ab. Sie kommunizieren über ein gemeinsames Method-Plugin-Format und einen REST-API-Vertrag.
Die drei Komponenten
champollion (dieses Projekt)
Das quelloffene Entwickler-Tool. Übersetzt Locale-Dateien mithilfe von Plugin-fähigen Methoden. Keine Abhängigkeiten, Konfiguration optional, einsatzbereit ohne weitere Einrichtung.
Integrierte Methoden:
llm→ OpenRouter / jedes beliebige LLM (200+ Modelle)llm-coached→ LLM + Grammatik-/Wörterbuch-Coachingopenai→ Direkte OpenAI-API (GPT-4o, GPT-4o-mini)anthropic→ Direkte Anthropic-API (Claude Sonnet, Haiku, Opus)gemini→ Direkte Google-Gemini-API (Flash, Pro — kostenlose Stufe verfügbar)google-translate→ Google Cloud Translation API v2deepl→ DeepL-API mit Glossar-Unterstützungmicrosoft-translator→ Azure Cognitive Services Translatorlibretranslate→ Selbst gehostetes LibreTranslate (AGPL, kostenlos)api→ Schlanke Anbindung an jeden beliebigen entfernten REST-Endpunkt
Eval Harness (Begleitprojekt)
Ein Forschungs-Tool zur Entwicklung, zum Testen und zum Benchmarking von Übersetzungsmethoden. Wenn eine Methode eine akzeptable Qualität erreicht, exportiert das Harness ein Method-Plugin — ein method.json-Manifest und optionale Coaching-Datendateien.
Das Harness läuft niemals innerhalb von champollion. Es ist ein separates Tool, das statische Ausgaben (JSON-Dateien) erzeugt. Champollion liest lediglich diese Dateien.
Champollion Translate (geplant)
Ein nutzungsbasierter API-Dienst, der proprietäre Übersetzungsmethoden serverseitig hostet — die Prompts, Coaching-Daten und linguistischen Pipelines verlassen niemals den Server.
Wie sie zusammenhängen
Eval Harness → champollion (einseitiger Export)
Vertrag: Plugin-Spezifikation
Champollion Translate → champollion (API zur Laufzeit)
Champollions APIMethod ist eine reine Anbindung ohne Eigenlogik. Es sendet Schlüssel hinaus und empfängt Übersetzungen zurück. Es enthält keinerlei Übersetzungslogik und keinerlei proprietäre Inhalte.
Was jede Komponente über die anderen weiß
| Tool | Weiß über champollion Bescheid? | Weiß über Champollion Translate Bescheid? | Weiß über das Harness Bescheid? |
|---|---|---|---|
| champollion | (ist champollion) | Ja — die api-Methode ruft es auf | Nein — liest lediglich Plugin-Exporte |
| Champollion Translate | Ja — bedient dessen Anfragen | (ist Champollion Translate) | Nein — empfängt bereitgestellte Methoden |
| Eval Harness | Ja — exportiert das Plugin-Format | Nein — Methoden werden separat bereitgestellt | (ist das Harness) |
Anwendungsszenarien
Szenario 1: Kostenlos, ohne Konfiguration (die meisten Nutzer)
export OPENROUTER_API_KEY=sk-...
npx champollion sync
Verwendet die integrierte llm-Methode. Keine Plugins, kein Champollion Translate, kein Harness.
Szenario 2: Google-Translate-Baseline
export GOOGLE_TRANSLATE_API_KEY=AIza...
npx champollion sync
Verwendet die integrierte google-translate-Methode. Keine Plugins erforderlich.
Szenario 3: Offenes Plugin mit gebündeltem Coaching
champollion plugin install ./french-formal-v1/
champollion sync
Das Plugin verfügt über type: "llm-coached" → champollion verwendet den eigenen OpenRouter-Schlüssel des Nutzers. Die Coaching-Daten sind lokal (kein Serveraufruf).
Szenario 4: Selbstgemachtes Coaching (kein Plugin, kein Harness)
{
"pairs": {
"en:fr": { "method": "llm-coached" }
}
}
Der Nutzer pflegt seine eigenen Grammatikregeln und sein eigenes Wörterbuch in .champollion/coaching/fr.json.
Language Cards
Jede Sprache in champollion wird über eine Language Card konfiguriert — eine einheitliche JSON-Datei, die Register-Voreinstellungen, Formalitätsregeln, Flags zur Methodenunterstützung, Typografiekonventionen, genealogische Klassifizierung und linguistische Referenzdaten enthält.
Die Cards werden beim Import vollständig (eager) geladen. Jede Card enthält alle Metadaten, die die Übersetzungs-Engine und die Entwicklerdokumentation benötigen — es gibt keine separate Referenzebene. Die Cards werden aus maßgeblichen Quellen (IANA, CLDR, Glottolog, WALS) mithilfe von scripts/generate-language-card.mjs und scripts/build-language-tree.mjs generiert und anschließend von Menschen auf linguistische Genauigkeit kuratiert.
Designprinzipien
- Keine zirkulären Abhängigkeiten. Die Brücken sind einseitig.
- Champollion ist der schlanke Kern. Keine Abhängigkeiten, Konfiguration optional. Plugins und API sind additiv.
- Der Schutz geistigen Eigentums ist architektonisch verankert. Proprietäre Techniken bleiben serverseitig. Das npm-Paket liefert nichts Proprietäres aus.
- Das Plugin-Format ist der Vertrag. Alles fließt durch
method.json. - Jedes Tool hat eine Aufgabe. Harness → Methoden entwickeln. Champollion Translate → Methoden hosten. Champollion → Dateien übersetzen.
Siehe auch
- Übersetzungsmethoden — wie jede integrierte Methode funktioniert
- Plugin-Spezifikation — das Format des method.json-Manifests
- Eval Harness — das begleitende Forschungs-Tool
- Eine Methode über API bereitstellen — Hosting benutzerdefinierter Übersetzungs-Pipelines
- Eine Sprache mit geringen Ressourcen unterstützen — der Anwendungsfall, der diese Architektur vorangetrieben hat