Índice
El flujo de trabajo manual de traducciones es un impuesto silencioso sobre la velocidad de ingeniería. Cada vez que un desarrollador añade una nueva cadena, alguien tiene que:
- Notar que la nueva clave existe
- Exportar el archivo de traducción
- Enviarlo a los traductores (o un TMS)
- Esperar las traducciones
- Importar los archivos traducidos
- Hacer el commit de los cambios
- Desplegar
Si tu ciclo de versiones es semanal, esto es manejable. Si despliegas varias veces al día, se rompe rápido. Las cadenas quedan sin traducir. Las funciones se lanzan solo en inglés. "Arreglaremos las traducciones en la próxima versión" se convierte en el estándar, y terminas con una deuda de localización cara de pagar.
La sincronización de GitHub elimina este impuesto.
Qué Hace Realmente la Sincronización de GitHub
Cuando conectas Better i18n a tu repositorio de GitHub, la sincronización funciona en ambas direcciones:
Código → TMS (al hacer push):
- Cuando haces push de un commit que añade o modifica archivos de traducción fuente, Better i18n detecta los cambios
- Las nuevas claves se añaden al TMS automáticamente
- Las cadenas fuente modificadas se marcan para re-traducción en todos los idiomas de destino
- Las claves eliminadas se archivan (nunca se borran inmediatamente)
TMS → Código (después de la traducción):
- Cuando las traducciones son aprobadas en el TMS, Better i18n abre automáticamente un pull request con los archivos de traducción actualizados
- El PR describe exactamente qué cambió y en qué idiomas
- Lo fusionas como cualquier otro PR
Configurando la Sincronización de GitHub con Better i18n
Paso 1: Conecta tu repositorio
En el panel de Better i18n, ve a tu proyecto → Configuración → GitHub Sync. Haz clic en "Conectar Repositorio" y autentícate con GitHub.
Paso 2: Configura los patrones de archivos
Indica a Better i18n dónde viven tus archivos de traducción:
source:
branch: main
path: src/locales/en.json
format: json
targets:
- path: src/locales/{locale}.json
languages: [de, fr, es, ja, zh, pt-BR]
Better i18n soporta JSON, YAML, PO/POT, XLIFF, Android XML, iOS strings, Flutter ARB y más.
Paso 3: Configura el flujo de trabajo de traducción
Elige qué sucede cuando se detectan nuevas claves:
Opción A: Traducción AI + PR automático — Las nuevas claves se traducen automáticamente con IA y se abre un PR inmediatamente.
Opción B: Traducción AI + revisión requerida — Las nuevas claves se traducen con IA pero requieren revisión humana antes de abrir el PR.
Opción C: Solo traducción humana — Las nuevas claves se añaden a la cola de traducción para traductores humanos.
Puedes configurar diferentes flujos para diferentes prefijos de clave — IA para ui.* y revisión humana para legal.*.
El Flujo de Trabajo de Pull Request
Cuando Better i18n abre un PR de traducción, se ve así:
feat(i18n): add translations for de, fr, es [Better i18n] Traducidas 14 nuevas claves añadidas en los commits a1b2c3d..f4e5d6c Idiomas: ✅ Alemán (de) — 14/14 claves ✅ Francés (fr) — 14/14 claves ✅ Español (es) — 14/14 claves ⏳ Japonés (ja) — 8/14 claves (6 pendientes de revisión)
Integración con CI/CD
# Verifica la cobertura de traducción antes del despliegue better-i18n check --project mi-proyecto --require-languages de,fr,es --min-coverage 95
# .github/workflows/i18n-check.yml
name: Verificación de Cobertura de Traducción
on:
pull_request:
paths:
- 'src/locales/en.json'
jobs:
i18n-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx @better-i18n/cli check --require-languages de,fr,es
env:
BETTER_I18N_API_KEY: ${{ secrets.BETTER_I18N_API_KEY }}
Esto bloquea los merges que enviarían nuevas cadenas en inglés sin traducciones en tus idiomas críticos.
Antes y Después
| Antes de la Sincronización de GitHub | Después | |
|---|---|---|
| Nueva cadena añadida | El desarrollador añade la clave, notifica manualmente al equipo | La sincronización detecta el cambio automáticamente |
| Traducción completa | El traductor envía un correo al desarrollador | PR abierto automáticamente |
| Despliegue | Importación manual de archivos traducidos | Fusiona el PR, listo |
| Visibilidad de cobertura | Ad-hoc, a menudo descubierta al lanzar | Panel en tiempo real + checks de CI |
| Tiempo de código a traducido | Días a semanas | Horas a días |
| Tiempo de ingeniería en coordinación i18n | 2-4 horas/semana | < 30 minutos/semana |
Cómo Empezar
- Crea una cuenta de Better i18n (el plan gratuito incluye sincronización de GitHub)
- Conecta tu repositorio en el panel
- Configura tus patrones de archivos y lista de idiomas
- Haz push de un commit con una nueva clave de traducción — observa la magia
La primera sincronización importa todos tus archivos de traducción existentes y calcula la cobertura. A partir de entonces, cada commit se gestiona automáticamente.