i18n Doctor: obtenga un informe completo sobre el estado de la traducción con un solo comando
Ejecute better-i18n doctor para analizar todo su código en cinco dimensiones (calidad del código, cobertura de la traducción, precisión de los marcadores de posición, claves huérfanas y sincronización CDN) y obtenga una puntuación de estado única de 0 a 100 con diagnósticos prácticos.
Cinco capas de análisis en una sola pasada
El doctor ejecuta el escaneo de código, el análisis de cobertura, la verificación de calidad, la auditoría de rendimiento y las comprobaciones de sincronización de CDN, todo a la vez, con una puntuación unificada.
Código: detección de cadenas codificadas
El escaneo basado en AST encuentra todas las cadenas orientadas al usuario que no están envueltas en t(). Detecta texto JSX, atributos, lógica ternaria de configuración regional, mensajes emergentes y variables de cadena.
Cobertura — Traducciones que faltan
Compara las claves presentes en su configuración regional de origen con cada configuración regional de destino. Cualquier clave que falte en una configuración regional de destino se notifica con su espacio de nombres y ruta exactos.
Calidad — Discrepancia en el marcador de posición
Verifica que los marcadores de posición de interpolación sean coherentes en todas las configuraciones regionales. Admite los formatos {}, doble llave {{}}, printf%s, plantilla ${} y posicional {0}.
Rendimiento: detección de claves huérfanas
Detecta claves que existen en sus archivos de traducción pero que nunca se mencionan en el código. Las claves huérfanas aumentan el tamaño de la carga útil y generan deuda de mantenimiento.
Sincronización — Comparación de CDN
Compara las claves extraídas de su código con las claves publicadas en la CDN. Detecta problemas de claves perdidas en remoto y claves remotas no utilizadas antes de que lleguen a producción.
Una puntuación única para la salud de sus traducciones
El médico calcula una puntuación de 0 a 100 basándose en los diagnósticos encontrados. Los errores se penalizan con 3,0 puntos cada uno, mientras que la contribución de las advertencias de cada regla tiene un límite de 20 puntos, lo que evita que una sola regla con miles de advertencias reduzca a cero toda la puntuación.
El umbral de aprobación predeterminado es 70 (calificación B). Utilice --ci para rechazar las compilaciones que estén por debajo de este umbral, o comience con --report para establecer una línea de base antes de aplicar la puntuación.
score = 100 - (errors × 3.0) - Σ min(rule_warnings × 0.15, 20)Umbrales de calificación
Integración CI/CD: bloquee las malas traducciones antes de que se publiquen
Añada doctor a su canalización de CI para detectar regresiones de traducción en cada envío. La autenticación OIDC automática en GitHub Actions significa que no hay que gestionar secretos.
Acciones de GitHub con OIDC
Autentíquese automáticamente sin claves API utilizando GitHub Actions OIDC. Solo tiene que añadir id-token: permiso de escritura y ejecutar doctor --ci --report.
Umbral de activación
Establezca un umbral de aprobación (por defecto: 70) y rechace la compilación cuando la puntuación sea inferior a dicho umbral. Comience el seguimiento con --report y, a continuación, aplique la norma con --ci.
JSON legible por máquina
Utilice --format json para obtener una salida estructurada que pueda canalizar a jq, paneles personalizados o automatización posterior en su canalización de implementación.
Informes del panel de control
Suba los resultados al panel de control de Better i18n con --report para realizar un seguimiento histórico, analizar tendencias y ofrecer visibilidad al equipo sobre el estado de la internacionalización.
Cuándo utilizar cada comando
Doctor es la opción más completa. Utilice comandos específicos cuando necesite una comprobación concreta o desee obtener una respuesta más rápida en los ganchos pre-commit.
médicoPuntuación completa de salud con cinco capas de análisis: la única fuente fiable para conocer el estado de internacionalización de su proyecto.
escanearDetección de cadenas codificadas de forma específica. Admite --staged para ganchos pre-commit.
comprobarComprobador interactivo de claves de traducción faltantes o no utilizadas con indicaciones guiadas.
sincronizarComparación completa entre local y remoto que muestra a la vez las claves que faltan y las que no se utilizan.
Diseñado para flujos de trabajo de internacionalización en el mundo real
Puntuación de salud 0-100
Puntuación única con desglose por categorías y umbral de aprobado/suspenso del CI. Realice un seguimiento del estado de sus traducciones a lo largo del tiempo.
Seguimiento del ámbito léxico
Detección inteligente del espacio de nombres tanto para useTranslations como para getTranslations. Cada llamada a t() se asigna a su espacio de nombres correcto.
Compatibilidad con componentes de servidor
Compatibilidad total con las funciones asíncronas del servidor Next.js App Router. Las llamadas getTranslations del lado del servidor se detectan y auditan.
Reglas configurables
Desactive o rebaje las reglas en i18n.config.ts. Establezca las reglas en «error», «advertencia» o «desactivado» para que se ajusten a las necesidades de su proyecto.
Filtrado inteligente
Ignora automáticamente los nombres de clases CSS, las URL, las rutas de importación y las constantes de desarrollador. Solo resultados procesables.
Registro de auditoría detallado
Transparencia profunda con --verbose. Resúmenes de ámbito, información de tiempo y trazas de resolución de espacios de nombres para la depuración.
Temas relacionados
CLI & Code Scanning
Herramientas de detección de cadenas codificadas y escaneo de código basadas en AST
For Developers
Herramientas de internacionalización centradas en los desarrolladores con SDK seguros y flujos de trabajo basados en Git.
Localization Software
Platforms and software for managing localization at scale
Translation Management
Plataforma centralizada para gestionar flujos de trabajo de traducción a gran escala.
Conozca el estado de su traducción antes de enviarla
Ejecute better-i18n doctor una vez para obtener su referencia. Añádalo a CI para no volver a enviar traducciones incompletas nunca más.