Conlangs, Mga Script at Ortograpiya
Ang champollion ay may first-class na suporta para sa constructed languages sa pamamagitan ng mga LLM register at deterministic na mga script converter. Saklaw ng gabay na ito kung paano gumagana ang suporta sa conlang, anong mga font ang kailangan ninyo, at kung paano magdagdag ng sarili ninyo.
:::tip Bakit mahalaga ang conlangs Ang conlangs ay hindi lamang bagong bagay — sinusubok nito ang eksaktong parehong imprastrakturang ginagamit para sa tunay na mga wikang kulang sa serbisyo. Ang quality gate, coaching system, at script conversion pipeline ay gumagana nang magkapareho para sa Klingon at Plains Cree. Kung gumagana ang inyong conlang pipeline, gagana rin ang inyong low-resource language pipeline. :::
Mga Suportadong Constructed Language
| Wika | Code | Script Converter | Kinakailangang Font |
|---|---|---|---|
| Klingon | tlh | ✅ Romanization → pIqaD | PUA font (hal., pIqaD qolqoS) |
| Sindarin (Tolkien Elvish) | x-elvish-s | ✅ Latin → Tengwar | CSUR PUA font |
| Kryptonian | x-kryptonian | ✅ Latin → Kryptonian | PUA font |
| Pirate English | x-pirate | ❌ register lamang | Wala |
| Shakespearean English | x-shakespeare | ❌ register lamang | Wala |
| Yoda-speak | x-yoda | ❌ register lamang | Wala |
Ginagamit ng mga conlang code ang x- prefix ayon sa BCP-47 private-use convention, maliban sa Klingon (tlh) na may ISO 639-3 code na itinalaga ng SIL International.
Unicode, PUA, at Mga Kinakailangan sa Font
Ang Private Use Area
Ang Klingon (pIqaD), Sindarin (Tengwar), at Kryptonian ay gumagamit ng mga Unicode Private Use Area (PUA) character. Ang PUA ay ang saklaw na U+E000–U+F8FF — ang mga codepoint na ito ay walang pamantayang pagtatalaga. Pinapanatili ng ConScript Unicode Registry (CSUR) ang mga mapping na napagkasunduan ng komunidad para sa mga kathang-isip na script, ngunit hindi bahagi ang mga ito ng Unicode standard.
Ang ibig sabihin nito sa praktika:
- Ang PUA text ay nare-render bilang mga kahong walang laman (□□□) kapag hindi naka-load ang tamang font
- Maaaring imapa ng iba't ibang font ang iba't ibang glyph sa parehong mga PUA codepoint
- HINDI nagbu-bundle ang champollion ng mga PUA font — kailangan ninyong i-load ang mga ito mismo
- Hindi kailanman mare-render ng mga system font ang mga character na ito
Mga Saklaw ng PUA ayon sa Script
| Script | Saklaw ng PUA | Sanggunian ng CSUR |
|---|---|---|
| Klingon (pIqaD) | U+F8D0–U+F8FF | CSUR Klingon |
| Tengwar (Elvish) | U+E000–U+E07F | CSUR Tengwar |
| Kryptonian | Nag-iiba ayon sa font | Walang CSUR standard |
Pag-load ng mga PUA Web Font
May kasamang built-in na command ang champollion upang mag-download at mamahala ng mga PUA web font:
# 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
Nagda-download ang fonts install command mula sa mga beripikadong open-source repository:
| Font | Script | Lisensya | Source |
|---|---|---|---|
| pIqaD qolqoS | Klingon | SIL Open Font License 1.1 | GitHub |
| FreeMonoTengwar | Tengwar | GNU GPL v3 (with font exception) | SourceForge |
| (ibinigay ng user) | Kryptonian | Nag-iiba | Walang available na open-source PUA font |
Awtomatikong nade-detect ang output directory mula sa istruktura ng inyong proyekto (Docusaurus → static/fonts/, Hugo → static/fonts/, default → public/fonts/). I-override gamit ang --dir.
Kung mas gusto ninyong manu-manong pamahalaan ang mga font, magdagdag ng mga @font-face rule sa inyong 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 HINDI ginagarantiya ang suporta sa Unicode Hayagang tumanggi ang Unicode Consortium na i-encode ang mga kathang-isip na script sa standard. Ang mga PUA assignment ay pinapanatili ng komunidad at maaaring magkaroon ng conflict sa pagitan ng mga implementasyon ng font. Palaging tukuyin ang eksaktong font na ginagamit ng inyong proyekto, at subukan ang rendering sa iba't ibang browser. :::
Mga Script Converter
Paano Gumagana ang mga Ito
Ang script conversion ng champollion ay isang post-translation hook:
- Isinasalin ng LLM ang text sa isang working script (karaniwang Latin o SRO)
- Bine-validate ng quality gate ang output
- Binabago ng deterministic converter ang na-validate na text tungo sa display script
- Isinusulat sa disk ang na-convert na text
Gumagana ang two-step approach na ito dahil mas mahusay ang output ng mga LLM kapag nagtatrabaho sa mga Latin-based script. Ginagarantiya ng deterministic converter ang tamang script output nang hindi umaasa sa kaalaman ng model sa script (na kadalasang hindi maaasahan).
Lahat ng Limang Converter
May kasamang limang built-in na script converter ang champollion:
Plains Cree: SRO → Syllabics (crk)
Standard Roman Orthography tungo sa Canadian Aboriginal Syllabics.
Input: "tawâw"
Output: "ᑕᐚᐤ"
Gumagamit ang mahahabang patinig ng macron/circumflex: ê, î, ô, â. Hinahawakan ng converter ang lahat ng SRO diacritic at imamapa ang mga ito sa tamang syllabic characters. Tingnan ang Sumuporta sa Low-Resource Language para sa buong Cree pipeline.
Serbian: Latin → Cyrillic (sr)
Deterministic na Latin-to-Cyrillic conversion para sa Serbian.
Input: "zdravo"
Output: "здраво"
Hinahawakan nito ang buong Serbian alphabet mapping kabilang ang mga digraph (lj → љ, nj → њ, dž → џ).
Klingon: Romanization → pIqaD (tlh)
Romanization system ni Marc Okrand tungo sa pIqaD PUA characters.
Input: "Qapla'" (romanized Klingon)
Output: [pIqaD PUA] (requires pIqaD font to render)
Sindarin: Latin → Tengwar (x-elvish-s)
Tolkien's Sindarin mode Tengwar mapping.
Input: "elen síla" (Latin Sindarin)
Output: [Tengwar PUA] (requires Tengwar font to render)
Kryptonian: Latin → Kryptonian (x-kryptonian)
Fan-lexicon Kryptonian script mapping.
Input: "Kal-El"
Output: [Kryptonian PUA] (requires Kryptonian font to render)
Pag-trigger ng Converter
Itakda ang scripts field sa inyong language config. Para sa mga built-in converter, awtomatiko itong nade-detect mula sa language code:
{
"languages": {
"sr": { "scripts": "sr" },
"crk": {}
}
}
Awtomatikong nade-detect ang Plains Cree (crk) — hindi ninyo kailangang itakda nang tahasan ang scripts.
Mga Multi-Script na Wika
Gumagamit ang ilang tunay na wika ng maraming aktibong script:
| Wika | Mga Script | Approach ng champollion |
|---|---|---|
| Serbian | Latin + Cyrillic | Script converter (sr) — magsalin sa Latin, i-convert sa Cyrillic |
| Chinese | Simplified + Traditional | Magkahiwalay na locale code (zh vs zh-TW) na may magkakaibang register |
Para sa mga wikang parehong audience ang pinaglilingkuran ng dalawang script (Serbian), gumamit ng script converter. Para sa mga wikang magkaibang audience ang pinaglilingkuran ng mga script (Chinese Simplified para sa mainland China, Traditional para sa Taiwan/HK), gumamit ng magkahiwalay na locale code.
Mga Tala sa Ortograpiya
Ang mga register ay hindi lamang tungkol sa tono — nagdadala ang mga ito ng mga tagubiling ortograpiko na gumagabay sa LLM tungo sa tamang mga kumbensiyon sa pagsulat.
Mga Pormal na Anyo ng Pagtawag
Kasama sa mga built-in register ng champollion ang angkop sa kulturang pormal na pagtawag para sa bawat wika:
| Wika | Pormal na Anyo | Tagubilin ng Register |
|---|---|---|
| German | Sie | Use Sie-form for formal address |
| French | vous | Use vous-form |
| Russian | вы | Professional register with вы-form |
| Turkish | siz | Professional register with siz-form |
| Korean | 합쇼체 | Formal Korean (합쇼체) |
| Japanese | です/ます | Polite professional register (です/ます form) |
| Polish | Pan/Pani | Professional register with Pan/Pani form |
Gender-Inclusive na Pagsulat
May gender.inclusiveGuidance field ang bawat language card na may payong partikular sa wika. Ini-inject ito sa LLM translation prompt nang hiwalay sa register preset, kaya pare-pareho itong nalalapat anuman ang formality preset na piliin ng user:
- French: Écriture inclusive gamit ang interpunct notation (hal., "Connecté·e")
- German: Doppelpunkt notation (hal., "Benutzer:innen")
- Spanish: Mas pinipili ang gender-neutral restructuring; slash notation (hal., "usuario/a") bilang fallback
Para sa mga wikang walang partikular na gabay sa kanilang card (hal., Korean, conlangs), bumabalik ang system sa generic na rule: "mas piliin ang mga gender-neutral na anyo o ang pinaka-inclusive na opsyong available."
Mga Kinakailangan sa RTL Script
Lahat ng register para sa Arabic, Hebrew, Persian, at Urdu ay nagtatala ng right-to-left requirements: Ensure text reads naturally in RTL layout contexts.
Pag-override sa Anumang Register
Ang bawat register ay config value — i-override ito upang tumugma sa boses ng inyong proyekto:
{
"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."
}
}
}
Tingnan ang Configuration para sa buong config reference.
Pagdaragdag ng Bagong Conlang
Sunod-sunod na Hakbang
-
Pumili ng BCP-47 private-use code: Gamitin ang
x-prefix (hal.,x-dothraki,x-valyrian). -
Idagdag sa inyong config:
{
"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'."
}
}
}
-
(Opsyonal) Magdagdag ng script converter: Kung gumagamit ang inyong conlang ng non-Latin display script, magdagdag ng converter sa
lib/scripts.jsat i-register ito saSCRIPT_CONVERTERS. -
Subukan: Patakbuhin ang
champollion sync --dryupang i-preview ang mga salin nang hindi sumusulat ng mga file. -
Suriin ang quality gate: Maaaring kailanganin ng quality gate ang tuning para sa inyong conlang — lalo na ang
requireNonLatincheck kung gumagamit ang inyong conlang ng mga PUA character.
:::note Nakadepende ang kalidad ng conlang sa kaalaman ng LLM Makapagsasalin lamang ang LLM sa isang conlang na nakita nito sa training data. Gumagana nang maayos ang mga conlang na may mahusay na dokumentasyon (Klingon, Sindarin, Dothraki). Maaaring makagawa ng hindi pare-parehong resulta ang malabo o bagong imbentong conlangs. Gamitin ang coaching data upang mapahusay ang kalidad. :::
Tingnan Din
- Mga Suportadong Wika — buong talahanayan ng wika na may availability ng method
- Mga Script Converter — mga teknikal na detalye ng conversion pipeline
- Mga Paraan ng Pagsasalin — kung paano gumagana ang bawat translation method
- Configuration — config reference kabilang ang language at register setup
- Sumuporta sa Low-Resource Language — ang parehong imprastraktura na inilalapat sa tunay na mga wikang kulang sa serbisyo