Lenguajes Construidos, Escrituras y Ortografía
champollion tiene soporte de primera clase para lenguajes construidos mediante registros LLM y convertidores de escritura determinísticos. Esta guía cubre cómo funciona el soporte para conlangs, qué fuentes necesita, y cómo agregar las suyas.
:::tip Por qué los conlangs importan Los conlangs no son solo una novedad — ejercitan exactamente la misma infraestructura utilizada para lenguajes reales desatendidos. La puerta de calidad, el sistema de coaching y la tubería de conversión de escritura funcionan idénticamente para Klingon y Plains Cree. Si su tubería de conlang funciona, su tubería de lenguaje de bajo recurso también lo hará. :::
Lenguajes Construidos Soportados
| Lenguaje | Código | Convertidor de Escritura | Fuente Requerida |
|---|---|---|---|
| Klingon | tlh | ✅ Romanización → pIqaD | Fuente PUA (p. ej., pIqaD qolqoS) |
| Sindarin (Élfico Tolkien) | x-elvish-s | ✅ Latin → Tengwar | Fuente PUA CSUR |
| Kryptoniano | x-kryptonian | ✅ Latin → Kryptonian | Fuente PUA |
| Pirate English | x-pirate | ❌ solo registro | Ninguna |
| Shakespearean English | x-shakespeare | ❌ solo registro | Ninguna |
| Yoda-speak | x-yoda | ❌ solo registro | Ninguna |
Los códigos de conlang utilizan el prefijo x- según la convención de uso privado BCP-47, excepto Klingon (tlh) que tiene un código ISO 639-3 asignado por SIL International.
Unicode, PUA y Requisitos de Fuentes
El Área de Uso Privado
Klingon (pIqaD), Sindarin (Tengwar) y Kryptoniano utilizan caracteres Área de Uso Privado (PUA) de Unicode. PUA es el rango U+E000–U+F8FF — estos puntos de código no tienen asignación estándar. El Registro Unicode de ConScript (CSUR) mantiene asignaciones acordadas por la comunidad para escrituras ficticias, pero estas no forman parte del estándar Unicode.
Lo que esto significa en la práctica:
- El texto PUA se renderiza como cuadros vacíos (□□□) sin la fuente correcta cargada
- Diferentes fuentes pueden asignar glifos diferentes a los mismos puntos de código PUA
- champollion NO incluye fuentes PUA — debe cargarlas usted mismo
- Las fuentes del sistema nunca renderizarán estos caracteres
Rangos PUA por Escritura
| Escritura | Rango PUA | Referencia CSUR |
|---|---|---|
| Klingon (pIqaD) | U+F8D0–U+F8FF | CSUR Klingon |
| Tengwar (Élfico) | U+E000–U+E07F | CSUR Tengwar |
| Kryptoniano | Varía según la fuente | Sin estándar CSUR |
Cargando Fuentes Web PUA
champollion incluye un comando integrado para descargar y gestionar fuentes web PUA:
# 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
El comando fonts install descarga desde repositorios de código abierto verificados:
| Fuente | Escritura | Licencia | Fuente |
|---|---|---|---|
| pIqaD qolqoS | Klingon | SIL Open Font License 1.1 | GitHub |
| FreeMonoTengwar | Tengwar | GNU GPL v3 (con excepción de fuente) | SourceForge |
| (proporcionada por el usuario) | Kryptoniano | Varía | Sin fuente PUA de código abierto disponible |
El directorio de salida se detecta automáticamente desde la estructura de su proyecto (Docusaurus → static/fonts/, Hugo → static/fonts/, predeterminado → public/fonts/). Anule con --dir.
Si prefiere gestionar fuentes manualmente, agregue reglas @font-face en su 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 El soporte de Unicode NO está garantizado El Consorcio Unicode ha rechazado explícitamente codificar escrituras ficticias en el estándar. Las asignaciones PUA se mantienen por la comunidad y pueden entrar en conflicto entre implementaciones de fuentes. Siempre especifique la fuente exacta que su proyecto utiliza, y pruebe la renderización en navegadores. :::
Convertidores de Escritura
Cómo Funcionan
La conversión de escritura de champollion es un gancho posterior a la traducción:
- El LLM traduce el texto a una escritura de trabajo (generalmente Latin o SRO)
- La puerta de calidad valida la salida
- El convertidor determinístico transforma el texto validado a la escritura de visualización
- El texto convertido se escribe en disco
Este enfoque de dos pasos funciona porque los LLM producen mejor salida cuando trabajan en escrituras basadas en Latin. El convertidor determinístico garantiza salida de escritura correcta sin depender del conocimiento de escritura del modelo (a menudo poco confiable).
Los Cinco Convertidores
champollion se envía con cinco convertidores de escritura integrados:
Plains Cree: SRO → Silábicos (crk)
Ortografía Romana Estándar a Silábicos Aborígenes Canadienses.
Input: "tawâw"
Output: "ᑕᐚᐤ"
Las vocales largas utilizan macron/circunflejo: ê, î, ô, â. El convertidor maneja todos los diacríticos SRO y los asigna a los caracteres silábicos correctos. Vea Soporte para un Lenguaje de Bajo Recurso para la tubería completa de Cree.
Serbio: Latin → Cirílico (sr)
Conversión determinística de Latin a Cirílico para Serbio.
Input: "zdravo"
Output: "здраво"
Esto maneja la asignación completa del alfabeto serbio incluyendo dígrafos (lj → љ, nj → њ, dž → џ).
Klingon: Romanización → pIqaD (tlh)
Sistema de romanización de Marc Okrand a caracteres PUA pIqaD.
Input: "Qapla'" (romanized Klingon)
Output: [pIqaD PUA] (requires pIqaD font to render)
Sindarin: Latin → Tengwar (x-elvish-s)
Asignación de Tengwar en modo Sindarin de Tolkien.
Input: "elen síla" (Latin Sindarin)
Output: [Tengwar PUA] (requires Tengwar font to render)
Kryptoniano: Latin → Kryptonian (x-kryptonian)
Asignación de escritura Kryptoniana de léxico de aficionados.
Input: "Kal-El"
Output: [Kryptonian PUA] (requires Kryptonian font to render)
Activando un Convertidor
Establezca el campo scripts en su configuración de lenguaje. Para convertidores integrados, esto se detecta automáticamente desde el código de lenguaje:
{
"languages": {
"sr": { "scripts": "sr" },
"crk": {}
}
}
Plains Cree (crk) se detecta automáticamente — no necesita establecer scripts explícitamente.
Lenguajes Multi-Escritura
Algunos lenguajes reales utilizan múltiples escrituras activas:
| Lenguaje | Escrituras | Enfoque de champollion |
|---|---|---|
| Serbio | Latin + Cirílico | Convertidor de escritura (sr) — traducir en Latin, convertir a Cirílico |
| Chino | Simplificado + Tradicional | Códigos de locale separados (zh vs zh-TW) con registros distintos |
Para lenguajes donde ambas escrituras sirven a la misma audiencia (Serbio), use un convertidor de escritura. Para lenguajes donde las escrituras sirven a audiencias diferentes (Chino Simplificado para China continental, Tradicional para Taiwán/HK), use códigos de locale separados.
Notas de Ortografía
Los registros no son solo tono — llevan instrucciones ortográficas que dirigen el LLM hacia convenciones de escritura correctas.
Formas de Dirección Formal
Los registros integrados de champollion incluyen la dirección formal culturalmente apropiada para cada lenguaje:
| Lenguaje | Forma Formal | Instrucción de Registro |
|---|---|---|
| Alemán | Sie | Use Sie-form for formal address |
| Francés | vous | Use vous-form |
| Ruso | вы | Professional register with вы-form |
| Turco | siz | Professional register with siz-form |
| Coreano | 합쇼체 | Formal Korean (합쇼체) |
| Japonés | です/ます | Polite professional register (です/ます form) |
| Polaco | Pan/Pani | Professional register with Pan/Pani form |
Escritura Inclusiva de Género
Cada tarjeta de lenguaje tiene un campo gender.inclusiveGuidance con consejos específicos del lenguaje. Esto se inyecta en el indicador de traducción del LLM separadamente del preajuste de registro, por lo que se aplica consistentemente independientemente de qué preajuste de formalidad elija el usuario:
- Francés: Écriture inclusive con notación de interpunto (p. ej., "Connecté·e")
- Alemán: Notación de dos puntos (p. ej., "Benutzer:innen")
- Español: Reestructuración neutral de género preferida; notación de barra (p. ej., "usuario/a") como alternativa
Para lenguajes sin orientación específica en su tarjeta (p. ej., Coreano, conlangs), el sistema recurre a una regla genérica: "preferir formas neutras de género u la opción más inclusiva disponible."
Requisitos de Escritura RTL
Los registros de Árabe, Hebreo, Persa y Urdu todos notan requisitos de derecha a izquierda: Ensure text reads naturally in RTL layout contexts.
Anulando Cualquier Registro
Cada registro es un valor de configuración — anúlelo para que coincida con la voz de su proyecto:
{
"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."
}
}
}
Vea Configuración para la referencia de configuración completa.
Agregando un Nuevo Conlang
Paso a paso
-
Elija un código de uso privado BCP-47: Utilice el prefijo
x-(p. ej.,x-dothraki,x-valyrian). -
Agregue a su configuración:
{
"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'."
}
}
}
-
(Opcional) Agregue un convertidor de escritura: Si su conlang utiliza una escritura de visualización no-Latin, agregue un convertidor en
lib/scripts.jsy regístrelo enSCRIPT_CONVERTERS. -
Pruebe: Ejecute
champollion sync --drypara previsualizar traducciones sin escribir archivos. -
Verifique la puerta de calidad: La puerta de calidad puede necesitar ajuste para su conlang — particularmente la verificación
requireNonLatinsi su conlang utiliza caracteres PUA.
:::note La calidad del conlang depende del conocimiento del LLM El LLM solo puede traducir a un conlang que ha visto en datos de entrenamiento. Los conlangs bien documentados (Klingon, Sindarin, Dothraki) funcionan bien. Los conlangs oscuros o recién inventados pueden producir resultados inconsistentes. Utilice datos de coaching para mejorar la calidad. :::
Véase También
- Lenguajes Soportados — tabla de lenguajes completa con disponibilidad de método
- Convertidores de Escritura — detalles técnicos de la tubería de conversión
- Métodos de Traducción — cómo funciona cada método de traducción
- Configuración — referencia de configuración incluyendo configuración de lenguaje y registro
- Soporte para un Lenguaje de Bajo Recurso — la misma infraestructura aplicada a lenguajes reales desatendidos