Traducción de documentación
Qué hace
Sección titulada «Qué hace»tyndale translate-docs traduce tu documentación de origen desde el idioma predeterminado a cada configuración regional en tyndale.config.json.
Está diseñado para sitios de documentación, no para cadenas de UI de apps:
- Lee documentación Markdown y MDX desde tu directorio de documentación de origen
- Escribe archivos traducidos usando las convenciones de tu framework de documentación
- Omite archivos que ya están actualizados
- Valida la documentación generada y reintenta automáticamente salidas inválidas antes de informar un fallo
Usa la misma configuración de proveedor de IA que usas para tyndale translate.
Frameworks compatibles
Sección titulada «Frameworks compatibles»translate-docs actualmente es compatible con:
- Starlight
- Docusaurus
- VitePress
- MkDocs
- Nextra
Inicio rápido
Sección titulada «Inicio rápido»npx tyndale translate-docs setupnpx tyndale translate-docstranslate-docs setup detecta un framework de documentación compatible en el proyecto actual y escribe un bloque docs dentro de tyndale.config.json.
Luego translate-docs usa esa configuración para encontrar la documentación fuente en inglés y escribir la documentación traducida en el lugar correcto para tu framework.
Configuración esperada
Sección titulada «Configuración esperada»Mantén tu configuración normal de Tyndale y luego agrega un bloque docs:
{ "defaultLocale": "en", "locales": ["es", "fr", "ja"], "docs": { "framework": "starlight", "contentDir": "src/content/docs" }}docs.framework debe ser uno de:
starlightdocusaurusvitepressmkdocsnextra
docs.contentDir apunta al directorio de documentación de origen en tu idioma predeterminado.
Notas:
defaultLocaleno debe aparecer enlocalestranslate-docsusa automáticamente extensiones de archivo específicas del framework--content-dirsobrescribe el directorio de documentación configurado para una ejecución
Cómo funciona la detección de setup
Sección titulada «Cómo funciona la detección de setup»npx tyndale translate-docs setup escanea el proyecto actual en busca de frameworks compatibles.
La detección se basa en señales específicas de cada framework, como:
- dependencias de paquetes instaladas
- archivos de configuración conocidos del framework
Los valores predeterminados actuales son:
- Starlight →
src/content/docs - Docusaurus →
docs - VitePress →
docs - MkDocs →
docs - Nextra →
pages
Para MkDocs, un archivo mkdocs.yml o mkdocs.yaml es suficiente para una detección de alta confianza.
Si setup encuentra varios candidatos, prefiere la primera coincidencia de alta confianza. Luego escribe el framework seleccionado y el directorio de contenido en tyndale.config.json.
Si omites setup, translate-docs aún puede detectar automáticamente en un caso limitado: cuando encuentra exactamente un framework de alta confianza. De lo contrario, usa src/content/docs como alternativa, a menos que pases --content-dir.
Comportamiento incremental
Sección titulada «Comportamiento incremental»translate-docs mantiene un archivo de estado incremental en la raíz del proyecto:
.tyndale-docs-state.jsonPara cada configuración regional y archivo de origen, Tyndale almacena un hash del documento fuente actual. En la siguiente ejecución, solo vuelve a traducir un documento cuando:
- falta el archivo traducido de destino
- el archivo fuente en inglés cambió
- pasas
--force
Eso significa que una ejecución normal solo procesa documentación faltante o modificada.
Para volver a traducir todo:
npx tyndale translate-docs --forceDónde van los archivos traducidos
Sección titulada «Dónde van los archivos traducidos»Tyndale escribe la documentación traducida según el framework seleccionado.
Starlight
Sección titulada «Starlight»La documentación de origen permanece en src/content/docs, y la documentación traducida va a carpetas por configuración regional bajo ese directorio:
src/content/docs/getting-started.mdxsrc/content/docs/es/getting-started.mdxsrc/content/docs/fr/getting-started.mdxVitePress y MkDocs
Sección titulada «VitePress y MkDocs»Estos usan la misma convención de carpeta por configuración regional dentro del directorio de documentación:
docs/guide.mddocs/es/guide.mddocs/fr/guide.mdDocusaurus
Sección titulada «Docusaurus»Las traducciones de Docusaurus se escriben en su estructura de documentación i18n:
docs/intro.mdxi18n/es/docusaurus-plugin-content-docs/current/intro.mdxi18n/fr/docusaurus-plugin-content-docs/current/intro.mdxNextra escribe archivos traducidos junto al archivo fuente usando un sufijo de configuración regional:
pages/docs/getting-started.mdxpages/docs/getting-started.es.mdxpages/docs/getting-started.fr.mdxEjemplo de Starlight
Sección titulada «Ejemplo de Starlight»Este repositorio usa Starlight, así que una configuración típica se ve así:
{ "defaultLocale": "en", "locales": ["de", "es", "fr", "it", "ja", "ko", "pt", "ru", "zh"], "docs": { "framework": "starlight", "contentDir": "src/content/docs" }}Luego ejecuta:
npx tyndale translate-docsTyndale lee la documentación en inglés desde src/content/docs y escribe la documentación traducida en carpetas por configuración regional como src/content/docs/es/ y src/content/docs/fr/.
Opciones de CLI
Sección titulada «Opciones de CLI»npx tyndale translate-docs --content-dir docs --concurrency 4Las opciones actuales son:
--content-dir <path>para sobrescribir el directorio de origen de documentación--concurrency <n>para controlar sesiones de traducción en paralelo--forcepara volver a traducir toda la documentación
Qué se valida
Sección titulada «Qué se valida»Después de cada traducción, Tyndale verifica el documento generado antes de conservarlo. A alto nivel, se asegura de que el resultado siga pareciendo un archivo de documentación válido:
- el frontmatter sigue presente y utilizable
- metadatos requeridos como
titlesiguen existiendo - se conservan las líneas de importación de origen
- el modelo no envolvió todo el archivo en bloques de código
Si un archivo generado falla la validación, Tyndale le pide al modelo que lo corrija y reintenta automáticamente. Los archivos que aún fallan se informan al final de la ejecución.