Herramienta CLI open source

Localización agéntica para tu código

l10n traduce tu contenido con LLMs, mantiene todo en el repositorio, valida la salida localmente y genera borradores que tu equipo puede revisar sin el ida y vuelta de plataformas externas.

Por qué Tuist creó esto

Probamos Crowdin y Weblate . La indirección de exportar e importar contenido nos ralentizaba, y no podíamos ejecutar nuestra propia validación en el proceso. Queríamos el mismo flujo de trabajo que usamos para el código: cambiar, probar, revisar, desplegar.

Ahora las traducciones se generan en su lugar, se verifican con tus herramientas y las revisan humanos solo cuando importa.

Cómo funciona

01
Da contexto a los agentes

Añade archivos de contexto L10N.md junto a tu contenido. l10n rastrea su dependencia, así que cuando el contexto o el contenido cambia, solo se regeneran las traducciones afectadas.

02
Elige tus modelos

Selecciona un modelo para coordinar la sesión agéntica y otro para traducir con precisión. Usa cualquier endpoint compatible con OpenAI, Vertex AI o tu propio modelo alojado.

03
Los agentes validan su propio trabajo

Los agentes tienen acceso a verificaciones de sintaxis integradas y comandos personalizados que defines. Ejecutan la validación después de cada traducción y reintentan si hay errores, así que la salida es correcta antes de que la revises.

Tools

Agents use tools to automate verification after every translation.

Syntax validators

Parse output to ensure it is valid before it is saved.

  • JSON
  • YAML
  • PO
  • Markdown frontmatter

Preserve checks

Guarantee critical tokens survive translation.

  • Code blocks
  • Inline code
  • URLs
  • Placeholders

Custom commands

Bring your own validators with check_cmd and check_cmds.

  • Linters
  • Compilers
  • Schema validators

Tool failures trigger retries until the output is valid.

La configuración vive en tu repositorio

L10N.md

Define fuentes de traducción, destinos y patrones de salida en frontmatter TOML.

+++
[[translate]]
source = "site/src/_data/home.json"
targets = ["es", "de", "ko", "ja", "zh-Hans", "zh-Hant"]
output = "site/src/_data/i18n/{lang}/{basename}.{ext}"
+++

# Context for the translating agent...

Comandos CLI

Traduce, valida y rastrea qué necesita actualizarse.

  • l10n translate Generar traducciones
  • l10n status Reportar salidas faltantes o desactualizadas
  • l10n check Validar sintaxis de salida
  • l10n clean Eliminar salidas de traducción obsoletas

Usa --force para re-traducir todo.

Diseñado para flujos de trabajo reales

#

Hashing sensible al contexto

Las traducciones se actualizan cuando cambia el contenido fuente o el contexto L10N.md ancestro.

Hooks de validación

Verificaciones de sintaxis JSON, YAML y PO, más comandos externos de lint opcionales.

»

Pipeline de agentes

Modelos separados de coordinador y traductor con reintento en errores de validación.

Listo para revisión humana

Genera borradores rápido, revisa cuando sea necesario y mantén todo en Git.

Refinamiento progresivo

Las traducciones no tienen que ser perfectas desde el primer día. Como el código, mejoran con la iteración.

Los primeros borradores de los LLMs son estructuralmente correctos pero pueden fallar en matices, tono o terminología específica del dominio. Eso es parte del diseño. Cada ciclo de revisión — un comentario en un pull request, un archivo de contexto actualizado, un ajuste en el glosario — retroalimenta la siguiente ejecución de traducción. La calidad converge en pasadas sucesivas, no de un solo intento.

Borrador

El LLM genera una primera pasada estructuralmente válida basada en tus archivos de contexto.

Revisión

Tu equipo señala problemas a través de pull requests, igual que en la revisión de código.

Refinar

El contexto actualizado y las correcciones de glosario alimentan la siguiente ejecución, cerrando la brecha.

Converger

Cada ciclo reduce la distancia a la calidad de producción. El sistema aprende la voz de tu producto.

Esto sigue el mismo principio detrás del Kaizen en manufactura, la post-edición en traducción profesional (PEMT) y la aproximación sucesiva en ingeniería: comenzar con una base suficientemente buena y mejorarla sistemáticamente con el criterio humano en el ciclo.

FAQ

¿En qué se diferencia esto de las herramientas de traducción tradicionales?

Las herramientas tradicionales dependen de memorias de traducción, bases de datos estáticas de traducciones pasadas que se emparejan por similitud. l10n reemplaza eso con contexto LLM como memoria: archivos de contexto que los agentes leen, de los que aprenden, y que tu equipo puede iterar con el tiempo. En lugar de buscar una coincidencia aproximada, los agentes entienden el tono, la terminología y las convenciones de tu producto. Y así como los desarrolladores validan cambios de código compilando o ejecutando linters, los agentes validan sus traducciones usando las mismas herramientas en tu entorno. Ejecútalo en CI o localmente, y los agentes usarán tus linters, compiladores y validadores para corregir su propia salida.

¿Necesito traer mis propios modelos?

Sí. l10n es una herramienta CLI, no un servicio alojado. La apuntas a cualquier endpoint compatible con OpenAI, Vertex AI o tu propio modelo. Tú controlas el costo, los datos y la calidad.

¿Cómo revisan los humanos las traducciones?

Hoy, los revisores verifican el contenido traducido a través de pull requests y diffs, y pueden actualizar los archivos de contexto para forzar una re-traducción cuando sea necesario. En el futuro, esperamos que se conviertan en parte del proceso ejecutando l10n localmente, de la misma manera que los desarrolladores ya trabajan con agentes de código como Codex.