Conlangs, Scripts & Orthografie
champollion biedt eersteklas ondersteuning voor geconstrueerde talen via LLM-registers en deterministische scriptconverters. Deze handleiding beschrijft hoe ondersteuning voor conlangs werkt, welke lettertypen u nodig heeft en hoe u uw eigen ondersteuning kunt toevoegen.
:::tip Waarom conlangs van belang zijn Conlangs zijn niet louter een curiositeit — ze maken gebruik van exact dezelfde infrastructuur als die voor echte, ondervertegenwoordigde talen. De kwaliteitspoort, het coachingsysteem en de scriptconversiepijplijn werken identiek voor Klingon en Plains Cree. Als uw conlang-pijplijn werkt, werkt uw pijplijn voor talen met weinig middelen ook. :::
Ondersteunde Geconstrueerde Talen
| Taal | Code | Scriptconverter | Lettertype vereist |
|---|---|---|---|
| Klingon | tlh | ✅ Romanisering → pIqaD | PUA-lettertype (bijv. pIqaD qolqoS) |
| Sindarin (Tolkien Elfisch) | x-elvish-s | ✅ Latijn → Tengwar | CSUR PUA-lettertype |
| Kryptonian | x-kryptonian | ✅ Latijn → Kryptonian | PUA-lettertype |
| Piraten-Engels | x-pirate | ❌ alleen register | Geen |
| Shakespeareaans Engels | x-shakespeare | ❌ alleen register | Geen |
| Yoda-spreektaal | x-yoda | ❌ alleen register | Geen |
Conlang-codes gebruiken het x--prefix conform de BCP-47-conventie voor privégebruik, met uitzondering van Klingon (tlh), dat een ISO 639-3-code heeft toegewezen gekregen van SIL International.
Unicode, PUA en Lettertypevereisten
Het Private Use Area
Klingon (pIqaD), Sindarin (Tengwar) en Kryptonian maken gebruik van Unicode Private Use Area (PUA)-tekens. PUA is het bereik U+E000–U+F8FF — deze codepunten hebben geen standaardtoewijzing. Het ConScript Unicode Registry (CSUR) beheert door de gemeenschap overeengekomen toewijzingen voor fictieve schriften, maar deze maken geen deel uit van de Unicode-standaard.
Wat dit in de praktijk betekent:
- PUA-tekst wordt weergegeven als lege vakjes (□□□) zonder het juiste geladen lettertype
- Verschillende lettertypen kunnen verschillende glyphs toewijzen aan dezelfde PUA-codepunten
- champollion levert GEEN PUA-lettertypen mee — u dient deze zelf te laden
- Systeemlettertypen zullen deze tekens nooit weergeven
PUA-bereiken per Script
| Script | PUA-bereik | CSUR-referentie |
|---|---|---|
| Klingon (pIqaD) | U+F8D0–U+F8FF | CSUR Klingon |
| Tengwar (Elfisch) | U+E000–U+E07F | CSUR Tengwar |
| Kryptonian | Varieert per lettertype | Geen CSUR-standaard |
PUA-weblettertypen laden
champollion bevat een ingebouwde opdracht voor het downloaden en beheren van PUA-weblettertypen:
# 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
De opdracht fonts install downloadt vanuit geverifieerde open-source-repositories:
| Lettertype | Script | Licentie | Bron |
|---|---|---|---|
| pIqaD qolqoS | Klingon | SIL Open Font License 1.1 | GitHub |
| FreeMonoTengwar | Tengwar | GNU GPL v3 (met lettertypeuitzondering) | SourceForge |
| (door gebruiker aangeleverd) | Kryptonian | Varieert | Geen open-source PUA-lettertype beschikbaar |
De uitvoermap wordt automatisch gedetecteerd op basis van uw projectstructuur (Docusaurus → static/fonts/, Hugo → static/fonts/, standaard → public/fonts/). Overschrijf dit met --dir.
Als u lettertypen liever handmatig beheert, voeg dan @font-face-regels toe in uw CSS:
@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-ondersteuning is NIET gegarandeerd Het Unicode Consortium heeft expliciet geweigerd fictieve schriften in de standaard op te nemen. PUA-toewijzingen worden door de gemeenschap onderhouden en kunnen conflicteren tussen verschillende lettertypeimplementaties. Geef altijd het exacte lettertype op dat uw project gebruikt en test de weergave in verschillende browsers. :::
Scriptconverters
Hoe Ze Werken
De scriptconversie van champollion is een post-vertaalhook:
- Het LLM vertaalt tekst naar een werkomgeving-script (doorgaans Latijn of SRO)
- De kwaliteitspoort valideert de uitvoer
- De deterministische converter transformeert de gevalideerde tekst naar het weergavescript
- De geconverteerde tekst wordt naar schijf geschreven
Deze tweestapsaanpak werkt omdat LLM's betere uitvoer produceren wanneer ze werken met op het Latijn gebaseerde schriften. De deterministische converter garandeert correcte scriptuitvoer zonder te vertrouwen op de (vaak onbetrouwbare) scriptkennis van het model.
Alle Vijf Converters
champollion wordt geleverd met vijf ingebouwde scriptconverters:
Plains Cree: SRO → Syllabics (crk)
Standard Roman Orthography naar Canadian Aboriginal Syllabics.
Input: "tawâw"
Output: "ᑕᐚᐤ"
Lange klinkers gebruiken macron/circumflex: ê, î, ô, â. De converter verwerkt alle SRO-diakritische tekens en wijst ze toe aan de juiste syllabische tekens. Zie Ondersteuning voor een taal met weinig middelen voor de volledige Cree-pijplijn.
Servisch: Latijn → Cyrillisch (sr)
Deterministische Latijn-naar-Cyrillisch-conversie voor het Servisch.
Input: "zdravo"
Output: "здраво"
Dit verwerkt de volledige Servische alfabettoewijzing, inclusief digrafen (lj → љ, nj → њ, dž → џ).
Klingon: Romanisering → pIqaD (tlh)
Marc Okrands romaniseringssysteem naar pIqaD PUA-tekens.
Input: "Qapla'" (romanized Klingon)
Output: [pIqaD PUA] (requires pIqaD font to render)
Sindarin: Latijn → Tengwar (x-elvish-s)
Tolkiens Sindarin-modus Tengwar-toewijzing.
Input: "elen síla" (Latin Sindarin)
Output: [Tengwar PUA] (requires Tengwar font to render)
Kryptonian: Latijn → Kryptonian (x-kryptonian)
Fan-lexicon Kryptonian-scripttoewijzing.
Input: "Kal-El"
Output: [Kryptonian PUA] (requires Kryptonian font to render)
Een Converter Activeren
Stel het veld scripts in uw taalconfiguratie in. Voor ingebouwde converters wordt dit automatisch gedetecteerd op basis van de taalcode:
{
"languages": {
"sr": { "scripts": "sr" },
"crk": {}
}
}
Plains Cree (crk) wordt automatisch gedetecteerd — u hoeft scripts niet expliciet in te stellen.
Meertalige Scripts
Sommige echte talen maken gebruik van meerdere actieve schriften:
| Taal | Schriften | champollion-aanpak |
|---|---|---|
| Servisch | Latijn + Cyrillisch | Scriptconverter (sr) — vertalen in Latijn, converteren naar Cyrillisch |
| Chinees | Vereenvoudigd + Traditioneel | Afzonderlijke localecodes (zh vs zh-TW) met afzonderlijke registers |
Voor talen waarbij beide schriften hetzelfde publiek bedienen (Servisch), gebruikt u een scriptconverter. Voor talen waarbij de schriften verschillende doelgroepen bedienen (Vereenvoudigd Chinees voor het vasteland van China, Traditioneel voor Taiwan/HK), gebruikt u afzonderlijke localecodes.
Orthografische Opmerkingen
Registers zijn niet alleen een kwestie van toon — ze bevatten orthografische instructies die het LLM sturen naar correcte schrijfconventies.
Formele Aanspreekvormen
De ingebouwde registers van champollion bevatten de cultureel passende formele aanspreekvorm voor elke taal:
| Taal | Formele vorm | Registerinstructie |
|---|---|---|
| Duits | Sie | Use Sie-form for formal address |
| Frans | vous | Use vous-form |
| Russisch | вы | Professional register with вы-form |
| Turks | siz | Professional register with siz-form |
| Koreaans | 합쇼체 | Formal Korean (합쇼체) |
| Japans | です/ます | Polite professional register (です/ます form) |
| Pools | Pan/Pani | Professional register with Pan/Pani form |
Genderneutraal Schrijven
Elke taalkaart heeft een veld gender.inclusiveGuidance met taalspecifiek advies. Dit wordt afzonderlijk van de registervoorinstelling in de LLM-vertaalprompt ingevoegd, zodat het consistent van toepassing is ongeacht welke formaliteitsvoorinstelling de gebruiker kiest:
- Frans: Écriture inclusive met interpunctnotatie (bijv. "Connecté·e")
- Duits: Dubbele-puntnotatie (bijv. "Benutzer:innen")
- Spaans: Genderneutrale herstructurering heeft de voorkeur; schuine-streepnotatie (bijv. "usuario/a") als terugvaloptie
Voor talen zonder specifieke richtlijnen op hun kaart (bijv. Koreaans, conlangs) valt het systeem terug op een algemene regel: "geef de voorkeur aan genderneutrale vormen of de meest inclusieve beschikbare optie."
RTL-scriptvereisten
Registers voor Arabisch, Hebreeuws, Perzisch en Urdu vermelden allemaal vereisten voor rechts-naar-links-weergave: Ensure text reads naturally in RTL layout contexts.
Een Register Overschrijven
Elk register is een configuratiewaarde — overschrijf het om aan te sluiten bij de stem van uw project:
{
"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."
}
}
}
Zie Configuratie voor de volledige configuratiereferentie.
Een Nieuwe Conlang Toevoegen
Stap voor stap
-
Kies een BCP-47-code voor privégebruik: Gebruik het prefix
x-(bijv.x-dothraki,x-valyrian). -
Voeg toe aan uw configuratie:
{
"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'."
}
}
}
-
(Optioneel) Voeg een scriptconverter toe: Als uw conlang een niet-Latijns weergavescript gebruikt, voeg dan een converter toe in
lib/scripts.jsen registreer deze inSCRIPT_CONVERTERS. -
Testen: Voer
champollion sync --dryuit om vertalingen te bekijken zonder bestanden te schrijven. -
Controleer de kwaliteitspoort: De kwaliteitspoort heeft mogelijk afstemming nodig voor uw conlang — met name de controle
requireNonLatinals uw conlang PUA-tekens gebruikt.
:::note De kwaliteit van conlangs is afhankelijk van de LLM-kennis Het LLM kan alleen vertalen naar een conlang die het tijdens de training heeft gezien. Goed gedocumenteerde conlangs (Klingon, Sindarin, Dothraki) werken goed. Obscure of nieuw uitgevonden conlangs kunnen inconsistente resultaten opleveren. Gebruik coachingsdata om de kwaliteit te verbeteren. :::
Zie Ook
- Ondersteunde talen — volledige taaltabel met beschikbaarheid per methode
- Scriptconverters — technische details van de conversiepijplijn
- Vertaalmethoden — hoe elke vertaalmethode werkt
- Configuratie — configuratiereferentie inclusief taal- en registerinstellingen
- Ondersteuning voor een taal met weinig middelen — dezelfde infrastructuur toegepast op echte ondervertegenwoordigde talen