i18n Doctor: Obțineți un raport complet privind starea traducerii cu o singură comandă
Rulați better-i18n doctor pentru a analiza întregul cod sursă în cinci dimensiuni — calitatea codului, acoperirea traducerii, acuratețea substituenților, cheile orfane și sincronizarea CDN — și obțineți un scor de sănătate unic între 0 și 100, cu diagnostice acționabile.
Cinci straturi de analiză într-o singură trecere
Doctorul execută scanarea codului, analiza acoperirii, verificarea calității, auditul performanței și verificările de sincronizare CDN — toate simultan, cu un scor unificat.
Cod — Detectarea șirurilor de caractere hardcoded
Scanarea bazată pe AST găsește fiecare șir orientat către utilizator care nu este încadrat în t(). Detectează textul JSX, atributele, logica ternară locală, mesajele toast și variabilele șir.
Acoperire — Traduceri lipsă
Compară cheile prezente în localizarea sursă cu fiecare localizare țintă. Orice cheie care lipsește dintr-o localizare țintă este raportată cu spațiul de nume și calea exactă.
Calitate — Neconcordanță între substituent și locaș
Verifică dacă substituenții de interpolare sunt consecvenți în toate localizările. Suportă formatele denumite {}, cu acolade duble {{}}, printf%s, șablon ${} și pozițional {0}.
Performanță — Detectarea cheilor orfane
Detectează cheile care există în fișierele de traducere, dar care nu sunt niciodată referite în cod. Cheile orfane măresc dimensiunea încărcăturii utile și creează datorii de întreținere.
Sincronizare — Comparație CDN
Compară cheile extrase din codul dvs. cu cheile publicate în CDN. Evidențiază problemele legate de cheile lipsă la distanță și cheile neutilizate la distanță înainte ca acestea să ajungă în producție.
Un singur scor pentru sănătatea traducerii dvs.
Doctor calculează un scor între 0 și 100 pe baza diagnosticelor găsite. Erorile sunt penalizate cu 3,0 puncte fiecare, în timp ce contribuția avertismentelor fiecărei reguli este limitată la 20 de puncte — împiedicând o singură regulă cu mii de avertismente să vă anuleze întregul scor.
Pragul implicit de promovare este 70 (nota B). Utilizați --ci pentru a respinge compilările sub acest prag sau începeți cu --report pentru a stabili o bază de referință înainte de a aplica punctajul.
score = 100 - (errors × 3.0) - Σ min(rule_warnings × 0.15, 20)Praguri de notare
Integrare CI/CD — Blocați traducerile proaste înainte ca acestea să fie livrate
Adăugați doctor la canalul CI pentru a detecta regresii de traducere la fiecare push. Autentificarea automată OIDC în GitHub Actions înseamnă zero gestionare a secretelor.
Acțiuni GitHub cu OIDC
Autentificați-vă automat fără chei API folosind GitHub Actions OIDC. Adăugați doar id-token: permisiunea de scriere și rulați doctor --ci --report.
Pragul de declanșare
Setați un prag de trecere (implicit: 70) și respingeți compilarea când scorul scade sub acest prag. Începeți urmărirea cu --report, apoi aplicați cu --ci.
JSON citibil de mașini
Utilizați --format json pentru ieșiri structurate pe care le puteți redirecționa către jq, tablouri de bord personalizate sau automatizări în aval în canalul dvs. de implementare.
Raportare prin tablou de bord
Încărcați rezultatele în tabloul de bord Better i18n cu --report pentru urmărirea istorică, analiza tendințelor și vizibilitatea la nivel de echipă a stării i18n.
Când să folosiți fiecare comandă
Doctor este opțiunea completă. Utilizați comenzi specifice atunci când aveți nevoie de o verificare anume sau doriți un feedback mai rapid în hook-urile pre-commit.
medicScor complet de sănătate cu cinci straturi de analiză — singura sursă de informații veridice pentru starea i18n a proiectului dvs.
scanareDetectarea concentrată a șirurilor hardcoded. Suportă --staged pentru hook-uri pre-commit.
verificațiVerificator interactiv pentru cheile de traducere lipsă sau neutilizate, cu instrucțiuni ghidate.
sincronizareComparație completă între local și remote, care arată simultan cheile lipsă și cele neutilizate.
Conceput pentru fluxuri de lucru i18n din lumea reală
Scorul de sănătate 0–100
Scor unic cu defalcare pe categorii și prag de promovare/respins CI. Urmăriți starea traducerii dvs. în timp.
Urmărirea domeniului lexical
Detectarea inteligentă a spațiului de nume atât pentru useTranslations, cât și pentru getTranslations. Fiecare apel t() se mapează la spațiul de nume corect.
Suport pentru componente server
Suport complet pentru funcțiile serverului asincron Next.js App Router. Apelurile getTranslations din partea serverului sunt detectate și auditate.
Reguli configurabile
Dezactivați sau reduceți nivelul regulilor în i18n.config.ts. Setați regulile la „eroare”, „avertisment” sau „dezactivat” pentru a se potrivi cu nevoile proiectului dvs.
Filtrare inteligentă
Ignoră automat numele claselor CSS, adresele URL, căile de import și constantele dezvoltatorului. Doar rezultate acționabile.
Jurnal de audit detaliat
Transparență profundă cu --verbose. Rezumatele de domeniu, informațiile de sincronizare și urmele de rezolvare a spațiului de nume pentru depanare.
Subiecte conexe
CLI & Code Scanning
Instrumente de detectare a șirurilor de caractere hardcoded și de scanare a codului bazate pe AST
For Developers
Instrumente i18n orientate către dezvoltatori, cu SDK-uri sigure din punct de vedere al tipului și fluxuri de lucru Git-first
Localization Software
Platforms and software for managing localization at scale
Translation Management
Platformă centralizată pentru gestionarea fluxurilor de lucru de traducere la scară largă
Cunoașteți starea traducerii înainte de expediere
Rulați o dată better-i18n doctor pentru a obține linia de bază. Adăugați-l la CI pentru a nu mai livra niciodată traduceri lipsă.