Zum Hauptinhalt springen

Conlangs, Schriften & Orthografie

champollion bietet erstklassige Unterstützung für konstruierte Sprachen über LLM-Register und deterministische Skript-Konverter. Dieser Leitfaden behandelt, wie die Conlang-Unterstützung funktioniert, welche Schriftarten Sie benötigen und wie Sie eigene hinzufügen.

:::tip Warum Conlangs wichtig sind Conlangs sind nicht nur Spielerei — sie nutzen genau dieselbe Infrastruktur wie echte, unterversorgte Sprachen. Das Quality Gate, das Coaching-System und die Skript-Konvertierungspipeline funktionieren für Klingonisch und Plains Cree identisch. Wenn Ihre Conlang-Pipeline funktioniert, wird auch Ihre Pipeline für ressourcenarme Sprachen funktionieren. :::


Unterstützte konstruierte Sprachen

SpracheCodeSkript-KonverterSchriftart erforderlich
Klingonischtlh✅ Romanisierung → pIqaDPUA-Schriftart (z. B. pIqaD qolqoS)
Sindarin (Tolkien-Elbisch)x-elvish-s✅ Latein → TengwarCSUR-PUA-Schriftart
Kryptonischx-kryptonian✅ Latein → KryptonischPUA-Schriftart
Piraten-Englischx-pirate❌ nur RegisterKeine
Shakespeare-Englischx-shakespeare❌ nur RegisterKeine
Yoda-Sprachex-yoda❌ nur RegisterKeine

Conlang-Codes verwenden das Präfix x- gemäß der BCP-47-Konvention für den privaten Gebrauch, mit Ausnahme von Klingonisch (tlh), dem ein ISO 639-3-Code von SIL International zugewiesen wurde.


Unicode, PUA und Schriftartanforderungen

Der Private Use Area

Klingonisch (pIqaD), Sindarin (Tengwar) und Kryptonisch verwenden Unicode-Private-Use-Area-Zeichen (PUA). PUA ist der Bereich U+E000–U+F8FF — diese Codepunkte haben keine standardmäßige Zuweisung. Das ConScript Unicode Registry (CSUR) pflegt von der Community vereinbarte Zuordnungen für fiktionale Skripte, diese sind jedoch nicht Teil des Unicode-Standards.

Was dies in der Praxis bedeutet:

  • PUA-Text wird ohne die korrekt geladene Schriftart als leere Kästchen (□□□) dargestellt
  • Verschiedene Schriftarten können denselben PUA-Codepunkten unterschiedliche Glyphen zuordnen
  • champollion bündelt KEINE PUA-Schriftarten — Sie müssen diese selbst laden
  • Systemschriftarten werden diese Zeichen niemals darstellen

PUA-Bereiche nach Skript

SkriptPUA-BereichCSUR-Referenz
Klingonisch (pIqaD)U+F8D0–U+F8FFCSUR Klingon
Tengwar (Elbisch)U+E000–U+E07FCSUR Tengwar
KryptonischJe nach SchriftartKein CSUR-Standard

Laden von PUA-Webschriftarten

champollion enthält einen integrierten Befehl zum Herunterladen und Verwalten von PUA-Webschriftarten:

# See which fonts are needed for your configured languages
champollion fonts list

# Download all needed fonts (auto-detects project type for output directory)
champollion fonts install

# Also generate a CSS snippet with @font-face declarations
champollion fonts install --css

Der Befehl fonts install lädt aus verifizierten Open-Source-Repositories herunter:

SchriftartSkriptLizenzQuelle
pIqaD qolqoSKlingonischSIL Open Font License 1.1GitHub
FreeMonoTengwarTengwarGNU GPL v3 (mit Font-Ausnahme)SourceForge
(vom Benutzer bereitgestellt)KryptonischVariiertKeine Open-Source-PUA-Schriftart verfügbar

Das Ausgabeverzeichnis wird automatisch aus Ihrer Projektstruktur erkannt (Docusaurus → static/fonts/, Hugo → static/fonts/, Standard → public/fonts/). Überschreiben Sie es mit --dir.

Wenn Sie Schriftarten lieber manuell verwalten möchten, fügen Sie @font-face-Regeln in Ihr CSS ein:

@font-face {
font-family: 'pIqaD';
src: url('/fonts/pIqaDqolqoS.ttf') format('truetype');
font-display: swap;
unicode-range: U+F8D0-F8FF;
}

/* Apply to Klingon text elements */
[lang="tlh"], [data-script="piqad"] {
font-family: 'pIqaD', sans-serif;
}

:::warning Unicode-Unterstützung ist NICHT garantiert Das Unicode-Konsortium hat es ausdrücklich abgelehnt, fiktionale Skripte im Standard zu kodieren. PUA-Zuweisungen werden von der Community gepflegt und können zwischen Schriftart-Implementierungen kollidieren. Geben Sie stets die exakte Schriftart an, die Ihr Projekt verwendet, und testen Sie die Darstellung in verschiedenen Browsern. :::


Skript-Konverter

Wie sie funktionieren

Die Skript-Konvertierung von champollion ist ein Post-Translation-Hook:

  1. Das LLM übersetzt den Text in ein Arbeitsskript (in der Regel Latein oder SRO)
  2. Das Quality Gate validiert die Ausgabe
  3. Der deterministische Konverter wandelt den validierten Text in das Anzeigeskript um
  4. Der konvertierte Text wird auf die Festplatte geschrieben

Dieser zweistufige Ansatz funktioniert, weil LLMs bessere Ergebnisse liefern, wenn sie in lateinbasierten Skripten arbeiten. Der deterministische Konverter garantiert eine korrekte Skript-Ausgabe, ohne auf das (häufig unzuverlässige) Skript-Wissen des Modells angewiesen zu sein.

Alle fünf Konverter

champollion liefert fünf integrierte Skript-Konverter mit:

Plains Cree: SRO → Silbenschrift (crk)

Standard Roman Orthography zu Canadian Aboriginal Syllabics.

Input: "tawâw"
Output: "ᑕᐚᐤ"

Lange Vokale verwenden Makron/Zirkumflex: ê, î, ô, â. Der Konverter verarbeitet alle SRO-Diakritika und ordnet sie den korrekten Silbenzeichen zu. Siehe Eine ressourcenarme Sprache unterstützen für die vollständige Cree-Pipeline.

Serbisch: Latein → Kyrillisch (sr)

Deterministische Latein-zu-Kyrillisch-Konvertierung für Serbisch.

Input: "zdravo"
Output: "здраво"

Dies verarbeitet die vollständige serbische Alphabetzuordnung einschließlich der Digraphen (lj → љ, nj → њ, dž → џ).

Klingonisch: Romanisierung → pIqaD (tlh)

Marc Okrands Romanisierungssystem zu pIqaD-PUA-Zeichen.

Input: "Qapla'" (romanized Klingon)
Output: [pIqaD PUA] (requires pIqaD font to render)

Sindarin: Latein → Tengwar (x-elvish-s)

Tolkiens Sindarin-Modus-Tengwar-Zuordnung.

Input: "elen síla" (Latin Sindarin)
Output: [Tengwar PUA] (requires Tengwar font to render)

Kryptonisch: Latein → Kryptonisch (x-kryptonian)

Fan-Lexikon-Kryptonisch-Skript-Zuordnung.

Input: "Kal-El"
Output: [Kryptonian PUA] (requires Kryptonian font to render)

Auslösen eines Konverters

Setzen Sie das Feld scripts in Ihrer Sprachkonfiguration. Bei integrierten Konvertern wird dies automatisch aus dem Sprachcode erkannt:

{
"languages": {
"sr": { "scripts": "sr" },
"crk": {}
}
}

Plains Cree (crk) wird automatisch erkannt — Sie müssen scripts nicht explizit setzen.


Mehrskriptsprachen

Einige reale Sprachen verwenden mehrere aktive Skripte:

SpracheSkriptechampollion-Ansatz
SerbischLatein + KyrillischSkript-Konverter (sr) — in Latein übersetzen, in Kyrillisch konvertieren
ChinesischVereinfacht + TraditionellSeparate Locale-Codes (zh vs. zh-TW) mit unterschiedlichen Registern

Für Sprachen, bei denen beide Skripte dieselbe Zielgruppe bedienen (Serbisch), verwenden Sie einen Skript-Konverter. Für Sprachen, bei denen die Skripte unterschiedliche Zielgruppen bedienen (Chinesisch Vereinfacht für Festlandchina, Traditionell für Taiwan/Hongkong), verwenden Sie separate Locale-Codes.


Hinweise zur Orthografie

Register sind nicht nur Tonalität — sie tragen orthografische Anweisungen, die das LLM zu korrekten Schreibkonventionen lenken.

Formelle Anredeformen

Die integrierten Register von champollion enthalten die kulturell angemessene formelle Anrede für jede Sprache:

SpracheFormelle FormRegister-Anweisung
DeutschSieUse Sie-form for formal address
FranzösischvousUse vous-form
RussischвыProfessional register with вы-form
TürkischsizProfessional register with siz-form
Koreanisch합쇼체Formal Korean (합쇼체)
Japanischです/ますPolite professional register (です/ます form)
PolnischPan/PaniProfessional register with Pan/Pani form

Geschlechtergerechtes Schreiben

Jede Sprachkarte verfügt über ein Feld gender.inclusiveGuidance mit sprachspezifischen Hinweisen. Dieses wird getrennt vom Register-Preset in den LLM-Übersetzungs-Prompt eingefügt, sodass es unabhängig davon, welches Formalitäts-Preset der Benutzer wählt, konsistent angewendet wird:

  • Französisch: Écriture inclusive mit Interpunkt-Notation (z. B. „Connecté·e")
  • Deutsch: Doppelpunkt-Notation (z. B. „Benutzer:innen")
  • Spanisch: Geschlechtsneutrale Umstrukturierung wird bevorzugt; Schrägstrich-Notation (z. B. „usuario/a") als Ausweichlösung

Für Sprachen ohne spezifische Hinweise in ihrer Karte (z. B. Koreanisch, Conlangs) greift das System auf eine allgemeine Regel zurück: „geschlechtsneutrale Formen oder die inklusivste verfügbare Option bevorzugen."

Anforderungen an RTL-Skripte

Die Register für Arabisch, Hebräisch, Persisch und Urdu weisen alle auf Rechts-nach-links-Anforderungen hin: Ensure text reads naturally in RTL layout contexts.

Überschreiben eines beliebigen Registers

Jedes Register ist ein Konfigurationswert — überschreiben Sie es, um es an die Stimme Ihres Projekts anzupassen:

{
"languages": {
"fr": {
"register": "Casual French. Use tu-form. Conversational blog tone. Gender-neutral when possible."
},
"de": {
"register": "Informal German. Use du-form. Tech startup voice."
}
}
}

Siehe Konfiguration für die vollständige Konfigurationsreferenz.


Eine neue Conlang hinzufügen

Schritt für Schritt

  1. Wählen Sie einen BCP-47-Code für den privaten Gebrauch: Verwenden Sie das Präfix x- (z. B. x-dothraki, x-valyrian).

  2. Zu Ihrer Konfiguration hinzufügen:

{
"languages": {
"x-dothraki": {
"register": "Dothraki language. Use David J. Peterson's vocabulary from the Living Language Dothraki textbook. Harsh, direct tone. No articles, no verb 'to be'."
}
}
}
  1. (Optional) Einen Skript-Konverter hinzufügen: Wenn Ihre Conlang ein nicht-lateinisches Anzeigeskript verwendet, fügen Sie einen Konverter in lib/scripts.js hinzu und registrieren Sie ihn in SCRIPT_CONVERTERS.

  2. Testen: Führen Sie champollion sync --dry aus, um Übersetzungen in der Vorschau anzuzeigen, ohne Dateien zu schreiben.

  3. Das Quality Gate prüfen: Das Quality Gate muss möglicherweise für Ihre Conlang angepasst werden — insbesondere die Prüfung requireNonLatin, wenn Ihre Conlang PUA-Zeichen verwendet.

:::note Conlang-Qualität hängt vom LLM-Wissen ab Das LLM kann nur in eine Conlang übersetzen, die es in den Trainingsdaten gesehen hat. Gut dokumentierte Conlangs (Klingonisch, Sindarin, Dothraki) funktionieren gut. Obskure oder neu erfundene Conlangs können inkonsistente Ergebnisse liefern. Verwenden Sie Coaching-Daten, um die Qualität zu verbessern. :::


Siehe auch