Ir al contenido
i18n Doctor

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.

$ better-i18n doctor
better-i18n · Informe de i18n Doctor
████████████████░░░░82 / 100A
PASSED (threshold: 70)
Coverage95(3 issues)
Quality88(2 issues)
Code72(8 issues)
Structure100(clean)
Performance91(1 issue)

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.

Fórmula de puntuación
score = 100 - (errors × 3.0) - Σ min(rule_warnings × 0.15, 20)

Umbrales de calificación

A+≥ 90
Pase
A≥ 80
Pase
B≥ 70
Pase
C≥ 50
Fracaso
F< 50
Fracaso

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.

# GitHub Actions example
- run: npx @better-i18n/cli doctor --ci --report

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édico

Puntuación completa de salud con cinco capas de análisis: la única fuente fiable para conocer el estado de internacionalización de su proyecto.

escanear

Detección de cadenas codificadas de forma específica. Admite --staged para ganchos pre-commit.

comprobar

Comprobador interactivo de claves de traducción faltantes o no utilizadas con indicaciones guiadas.

sincronizar

Comparació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.

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.