Documentación bilingüe de proyectos — inglés canónico + español
Toda la documentación de un repositorio Wiedii se mantiene en inglés y español, en archivos independientes (no un solo archivo con ambos idiomas), con navegación enriquecida que enlaza recíprocamente las versiones.
Principio: un idioma canónico, el otro lo sigue
- Inglés = canónico (fuente de verdad). Coherente con la política de que el código y las docs técnicas de repo se escriben en inglés (ver politicas-core). Es donde se edita primero.
- Español = traducción que sigue al canónico. Nunca son dos fuentes iguales — el ES refleja el EN, no al revés. Esto evita el problema central de dos archivos: el drift (que una versión quede vieja y mienta).
Alcance
Todas las docs del repo se mantienen bilingües: README, CONTRIBUTING, getting-started, ADRs, runbooks y todo docs/. (Los nombres literales —comandos, identificadores de código, flags— no se traducen.)
Cobertura total = máximo riesgo de desincronía → el mecanismo anti-drift de abajo es obligatorio, no opcional.
Convención de archivos y navegación
- Naming:
X.md(inglés, canónico) +X.es.md(español). Para sitios de docs,docs/en/+docs/es/. Consistencia dentro de cada repo. - Switcher en el encabezado de cada archivo, con enlace recíproco al par y al índice:
> 🇬🇧 **English** · [🇪🇸 Español](./README.es.md)> [🇬🇧 English](./README.md) · 🇪🇸 **Español**
- Sitios de docs (Docusaurus / MkDocs / mdBook): usar el i18n nativo de la herramienta en vez de cross-links a mano — genera y mantiene la navegación entre idiomas automáticamente. Los cross-links manuales son solo para markdown plano en el repo.
Anti-drift (obligatorio)
- Puntero de sincronización en cada archivo traducido: idioma canónico + commit con el que se sincronizó (p. ej.
<!-- synced-with: README.md @ <sha> -->). - Check de staleness que avise/falle si el canónico cambió y su traducción no se actualizó (compara el
synced-with @ <sha>contra el último commit del canónico). En repos con CI es una etapa del pipeline; en repos sin CI (p. ej. el propio marketplace de plugins) se materializa equivalente vía pre-commit (lefthook) y/o los fact-collectors deterministas de/audit-projecty/review-pr(audit-static-checks/review-static-checks) — el mismo patrón con que Wiedii sustituye CI en repos sin pipeline. El check emite un hecho (canónico movido, traducción detrás); la severidad la adjudica quien revisa. - Skill del plugin de Claude (
wiedii-dev, p. ej.bilingual-docs) que genere/actualice la traducción a partir del canónico y mantenga el switcher + el punterosynced-with— mismo patrón que las demás skills que materializan convenciones. Ver briefing del plugin.
Reconciliación con lo existente
- Reemplaza el patrón "un solo archivo con ambos idiomas" (scroll a la versión de abajo) por archivos independientes enlazados. (Aplica, p. ej., al README de este propio vault y al del marketplace
claude-wiedii-plugins.) - La migración invierte el idioma primario donde el archivo único era ES-primario: el contenido canónico pasa a EN (
X.md) y el ES a su traducción (X.es.md) con su punterosynced-with. Es un cambio deliberado, no automático — se hace doc por doc. - Extiende el precedente de contributing (
CONTRIBUTING.md+CONTRIBUTING.es.md) a todas las docs del repo.
Referencias
- politicas-core — idioma de código y docs · contributing — política de CONTRIBUTING · repo-setup — archivos del repo