champollion
Un marco de internacionalización completamente personalizable. Un comando traduce sus archivos de configuración regional. Una configuración controla cada método, modelo y par de idiomas. Y si los métodos integrados no son suficientes — construya el suyo, demuestre que funciona e impleméntelo.
npx champollion sync
champollion detecta automáticamente sus archivos de configuración regional, formato e idiomas de destino. Traduce lo que falta, omite lo que está hecho, valida cada resultado y escribe una salida limpia. Ese es el punto de partida.
¿Por Qué No Simplemente Escribir un Script Usted Mismo?
Podría escribir un bucle rápido que llame a Google Translate en cada clave. La mayoría de los desarrolladores lo hacen — toma alrededor de 30 líneas. Aquí es donde se rompe:
- Sin detección de cambios. Actualice una cadena en inglés — la traducción permanece obsoleta para siempre. champollion rastrea cada valor de origen con hashes SHA-256 y retraduce solo lo que cambió.
- Sin agrupamiento. Una llamada a API por clave significa 200 claves = 200 viajes de ida y vuelta. champollion agrupa de manera inteligente (configurable, 80 claves/lote por defecto para LLM, 128 para Google).
- Sin caché. Cada sincronización retraduce todo. La Memoria de Traducción de champollion almacena en caché las traducciones por texto de origen + configuración regional + método — ejecutar sync nuevamente después de cambiar una clave solo traduce esa clave, no todo el archivo.
- Sin puerta de calidad. La traducción automática alucina, repite la fuente o produce en el script incorrecto. champollion valida cada traducción antes de escribirla — script incorrecto, inflación de longitud y ecos de fuente se detectan y rechazan.
- Sin conciencia de formato. ¿Codificado para JSON? champollion maneja JSON, TOML, YAML y Markdown de Hugo (frontmatter + cuerpo) con detección automática.
- Sin control de método. Cada par obtiene el mismo método. champollion le permite usar Google Translate para francés, un LLM para japonés y un pipeline personalizado alojado en la comunidad para Cree — en el mismo archivo de configuración.
champollion es la versión de producción de ese script.
Lo Que Lo Hace Diferente
Cada método es un complemento
El método de traducción es configurable por par de idiomas. Mezcle Google Translate, LLM, indicaciones entrenadas y API personalizadas en el mismo proyecto:
{
"version": 3,
"pairs": {
"en:fr": { "method": "google-translate" },
"en:ja": { "method": "llm", "model": "google/gemini-2.5-pro" },
"en:crk": { "methodPlugin": "crk-coached-v1" }
}
}
El francés obtiene Google Translate (rápido, económico). El japonés obtiene un LLM premium (matizado). Plains Cree obtiene un complemento entrenado con reglas gramaticales, diccionarios y validación morfológica. El mismo comando sync. La misma puerta de calidad. El mismo CLI.
Demuéstrelo
¿Cree que su método puede traducir inglés a español? ¿Turco a azerbaiyano? ¿Inglés a Cree?
Demuéstrelo. El arnés de evaluación complementario compara cualquier método de traducción con puntuación reproducible y con huella digital. El marcador rastrea cada envío.
El arnés de evaluación y el CLI de producción comparten la misma interfaz de complemento. Un método que obtiene una buena puntuación en el arnés puede usarse en producción — si la comunidad cuyo idioma sirve da su consentimiento. Para idiomas indígenas y de recursos limitados, ese consentimiento importa. Vea Soberanía de Datos.
# Benchmark your method (in the eval harness repo)
cd arena
python eval/baseline_experiment.py --dataset data/edtekla-dev-v1.json --submit
# Use it locally
npx champollion sync
El mismo complemento. Conecte y pruebe.
El kit de herramientas completo
champollion no es solo sync. Es un pipeline i18n completo:
| Comando | Lo Que Hace |
|---|---|
sync | Traducir claves faltantes y obsoletas (con verificación posterior a la sincronización) |
watch | Sincronización automática cuando su archivo de origen cambia |
lint | Escanear código fuente para cadenas codificadas |
wrap | Envolver automáticamente cadenas codificadas en llamadas t() |
audit | Listar todos los marcadores de respaldo [EN] de ejecuciones anteriores |
verify | Verificar que las traducciones estén presentes y sean correctas (puerta de CI) |
integrity | Detectar corrupción de marcadores de posición, problemas de codificación e integridad de plurales ICU |
seo | Generar etiquetas hreflang, mapas del sitio y esquema JSON-LD |
status | Mostrar configuración de par, complementos y puntuaciones de referencia |
provenance | Auditar licencias de recursos de traducción |
plugin | Instalar, eliminar y listar complementos de método |
fonts | Descargar fuentes web para convertidores de script PUA |
tm | Administrar caché de Memoria de Traducción (estadísticas, limpiar, por configuración regional) |
xliff | Exportar/importar XLIFF 1.2 para revisión de traductor profesional |
Cuatro de estos — lint, sync, verify, audit — forman un pipeline de CI que detecta cadenas codificadas, las traduce, verifica la corrección y falla la compilación si alguna configuración regional está incompleta.
La Arena
El Marcador de Métodos es el marcador. Cada envío tiene huella digital a una confirmación de Git, se versiona a un conjunto de datos específico y se califica con el mismo arnés. Cualquiera puede enviar.
¿Qué puede demostrar? El arnés toma JSON. Los complementos toman JSON. Cualquier método que produzca JSON puede ser probado:
| Enfoque | Ejemplo |
|---|---|
| LLM entrenado | Inyecte reglas gramaticales y diccionarios en el indicador de un modelo de frontera |
| Modelo ajustado | Entrene un modelo abierto en texto paralelo — solo no en los datos de evaluación |
| Pipeline con puerta FST | LLM genera → transductor de estado finito valida morfología → reintentar |
| Modelos encadenados | Modelo A redacta → Modelo B post-edita → Modelo C califica |
| Diccionario + LLM | Fuerce términos conocidos de un diccionario, deje que el LLM maneje el resto |
| Evolutivo | Genere candidatos, califíquelos, mute los mejores, repita |
| Traducción parcial | Traduzca una muestra a mano, demuestre que su LLM coincide, traduzca automáticamente el resto |
Ajuste modelos. Implemente algoritmos evolutivos. Pruebe respuestas de estudiantes en exámenes de idiomas. Construya tablas de búsqueda. Encadene tres modelos juntos. Mientras su método produzca JSON, el arnés lo califica y el marco lo ejecuta.
:::danger La única regla No entrene con los datos de evaluación. Los métodos expuestos al conjunto de datos de referencia serán descalificados. Ajuste con lo que quiera. Solo no con el conjunto de prueba. :::
Esta es una invitación abierta. Si trabaja con un idioma de recursos limitados — como investigador, miembro de la comunidad, estudiante o simplemente alguien que se preocupa — construya un método, ejecute el arnés y reclame la puntuación superior. El problema no está resuelto. La infraestructura está aquí.
Próximos Pasos
Primeros pasos:
- Instalación — Configure en 2 minutos
- Inicio Rápido — Ejecute su primera sincronización
- Idiomas Compatibles — Lo que está disponible de forma predeterminada
Personalizando su configuración:
- Métodos de Traducción — Elija el método correcto por par
- Memoria de Traducción — Cómo el almacenamiento en caché le ahorra dinero
- Configuración — Referencia de configuración completa
- Sitio Multilingüe Hugo — Traducción de contenido Markdown
Profundizando:
- Trabajar con Traductores Profesionales — Flujo de trabajo de exportación/importación XLIFF
- Soberanía de Datos — Principios OCAP, CARE y Māori Data Sovereignty
- Apoyar un Idioma de Recursos Limitados — El desafío que lo inició todo
- Receta: Pipeline con Puerta FST — Construya un pipeline de descomposición
- Evaluación de MT — Cómo funcionan el arnés y el marcador
- Marcador de Métodos — Puntuaciones en vivo y envíos