i18n Doctor: Ottieni un rapporto completo sullo stato della traduzione con un solo comando
Esegui better-i18n doctor per analizzare l'intero codice in cinque dimensioni: qualità del codice, copertura della traduzione, accuratezza dei segnaposto, chiavi orfane e sincronizzazione CDN. Otterrai un punteggio di integrità compreso tra 0 e 100 con diagnosi utilizzabili.
Cinque livelli di analisi in un unico passaggio
Il sistema esegue la scansione del codice, l'analisi della copertura, la verifica della qualità, il controllo delle prestazioni e i controlli di sincronizzazione CDN, il tutto contemporaneamente, con un punteggio unificato.
Codice — Rilevamento di stringhe hardcoded
La scansione basata su AST individua ogni stringa visibile all'utente non racchiusa in t(). Rileva testo JSX, attributi, logica locale ternaria, messaggi toast e variabili stringa.
Copertura — Traduzioni mancanti
Confronta le chiavi presenti nella lingua di origine con ciascuna lingua di destinazione. Qualsiasi chiave mancante in una lingua di destinazione viene segnalata con il nome esatto dello spazio dei nomi e il percorso.
Qualità — Disallineamento dei segnaposto
Verifica che i segnaposto di interpolazione siano coerenti in tutte le impostazioni locali. Supporta i formati denominati {}, doppia parentesi graffa {{}}, printf%s, modello ${} e posizionale {0}.
Prestazioni — Rilevamento delle chiavi orfane
Individua le chiavi presenti nei file di traduzione ma mai referenziate nel codice. Le chiavi orfane aumentano le dimensioni del payload e creano un debito di manutenzione.
Sincronizzazione — Confronto CDN
Confronta le chiavi estratte dal codice con quelle pubblicate nel CDN. Rileva i problemi relativi alle chiavi mancanti in remoto e inutilizzate in remoto prima che entrino in produzione.
Un punteggio unico per la qualità della tua traduzione
Il medico calcola un punteggio da 0 a 100 in base alle diagnosi effettuate. Gli errori vengono penalizzati con 3,0 punti ciascuno, mentre il contributo di ogni regola in termini di avvisi è limitato a 20 punti, impedendo che una singola regola con migliaia di avvisi azzeri l'intero punteggio.
La soglia di superamento predefinita è 70 (voto B). Utilizzare --ci per bocciare le build al di sotto di questa soglia, oppure iniziare con --report per stabilire una linea di base prima di applicare il punteggio.
score = 100 - (errors × 3.0) - Σ min(rule_warnings × 0.15, 20)Soglie di voto
Integrazione CI/CD: bloccare le traduzioni inadeguate prima della loro distribuzione
Si prega di aggiungere Doctor alla propria pipeline CI per rilevare eventuali regressioni di traduzione ad ogni push. L'autenticazione OIDC automatica in GitHub Actions elimina la necessità di gestire le credenziali.
Azioni GitHub con OIDC
È possibile effettuare l'autenticazione automaticamente senza chiavi API utilizzando GitHub Actions OIDC. È sufficiente aggiungere il permesso di scrittura id-token: e eseguire doctor --ci --report.
Soglia di attivazione
Impostare una soglia di superamento (impostazione predefinita: 70) e interrompere la compilazione quando il punteggio scende al di sotto di tale soglia. Iniziare il monitoraggio con --report, quindi applicare con --ci.
JSON leggibile da macchina
Utilizzare --format json per ottenere un output strutturato che può essere convogliato in jq, dashboard personalizzate o automazioni a valle nella pipeline di distribuzione.
Reportistica dashboard
Caricare i risultati nella dashboard di Better i18n con --report per il monitoraggio storico, l'analisi delle tendenze e la visibilità a livello di team sullo stato di salute dell'i18n.
Quando utilizzare quale comando
Doctor è l'opzione completa. Si consiglia di utilizzare comandi mirati quando si necessita di un controllo specifico o si desidera un feedback più rapido nei hook pre-commit.
dottorePunteggio di integrità completo con cinque livelli di analisi: l'unica fonte attendibile per lo stato di internazionalizzazione del vostro progetto.
scansioneRilevamento mirato delle stringhe hardcoded. Supporta --staged per gli hook pre-commit.
controllareStrumento interattivo per verificare la presenza di chiavi di traduzione mancanti o inutilizzate con istruzioni guidate.
sincronizzazioneConfronto completo tra locale e remoto che mostra contemporaneamente sia le chiavi mancanti che quelle inutilizzate.
Progettato per flussi di lavoro i18n reali
Punteggio salute 0–100
Punteggio unico con suddivisione per categoria e soglia CI superata/non superata. Monitorare lo stato di salute della traduzione nel tempo.
Monitoraggio dell'ambito lessicale
Rilevamento intelligente dello spazio dei nomi sia per useTranslations che per getTranslations. Ogni chiamata t() viene mappata al proprio spazio dei nomi corretto.
Supporto per componenti server
Supporto completo per le funzioni server asincrone di Next.js App Router. Le chiamate getTranslations lato server vengono rilevate e controllate.
Regole configurabili
Disattivare o declassare le regole in i18n.config.ts. Impostare le regole su "error", "warning" o "off" in base alle esigenze del proprio progetto.
Filtraggio intelligente
Ignora automaticamente i nomi delle classi CSS, gli URL, i percorsi di importazione e le costanti di sviluppo. Fornisce esclusivamente risultati utilizzabili.
Registro di controllo dettagliato
Trasparenza approfondita con --verbose. Riepiloghi dell'ambito, informazioni sui tempi e tracce di risoluzione dello spazio dei nomi per il debug.
Argomenti correlati
CLI & Code Scanning
Strumenti di rilevamento stringhe hardcoded basati su AST e di scansione del codice
For Developers
Strumenti di internazionalizzazione incentrati sugli sviluppatori con SDK type-safe e flussi di lavoro Git-first.
Localization Software
Platforms and software for managing localization at scale
Translation Management
Piattaforma centralizzata per la gestione dei flussi di lavoro di traduzione su larga scala
Verifica lo stato della tua traduzione prima della spedizione
Si consiglia di eseguire una volta Better-i18n Doctor per ottenere la propria linea di base. Si raccomanda di aggiungerlo alla CI per evitare di distribuire nuovamente traduzioni incomplete.