Ir al contenido principal

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:

champollion.config.json
{
"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:

ComandoLo Que Hace
syncTraducir claves faltantes y obsoletas (con verificación posterior a la sincronización)
watchSincronización automática cuando su archivo de origen cambia
lintEscanear código fuente para cadenas codificadas
wrapEnvolver automáticamente cadenas codificadas en llamadas t()
auditListar todos los marcadores de respaldo [EN] de ejecuciones anteriores
verifyVerificar que las traducciones estén presentes y sean correctas (puerta de CI)
integrityDetectar corrupción de marcadores de posición, problemas de codificación e integridad de plurales ICU
seoGenerar etiquetas hreflang, mapas del sitio y esquema JSON-LD
statusMostrar configuración de par, complementos y puntuaciones de referencia
provenanceAuditar licencias de recursos de traducción
pluginInstalar, eliminar y listar complementos de método
fontsDescargar fuentes web para convertidores de script PUA
tmAdministrar caché de Memoria de Traducción (estadísticas, limpiar, por configuración regional)
xliffExportar/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:

EnfoqueEjemplo
LLM entrenadoInyecte reglas gramaticales y diccionarios en el indicador de un modelo de frontera
Modelo ajustadoEntrene un modelo abierto en texto paralelo — solo no en los datos de evaluación
Pipeline con puerta FSTLLM genera → transductor de estado finito valida morfología → reintentar
Modelos encadenadosModelo A redacta → Modelo B post-edita → Modelo C califica
Diccionario + LLMFuerce términos conocidos de un diccionario, deje que el LLM maneje el resto
EvolutivoGenere candidatos, califíquelos, mute los mejores, repita
Traducción parcialTraduzca 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í.

→ Ver el marcador


Próximos Pasos

Primeros pasos:

Personalizando su configuración:

Profundizando: