Treceți la conținut
Doctorul i18n

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.

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

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.

Formula de punctaj
score = 100 - (errors × 3.0) - Σ min(rule_warnings × 0.15, 20)

Praguri de notare

A+≥ 90
Trece
A≥ 80
Trece
B≥ 70
Trece
C≥ 50
Eșec
F< 50
Eșec

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.

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

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.

medic

Scor complet de sănătate cu cinci straturi de analiză — singura sursă de informații veridice pentru starea i18n a proiectului dvs.

scanare

Detectarea concentrată a șirurilor hardcoded. Suportă --staged pentru hook-uri pre-commit.

verificați

Verificator interactiv pentru cheile de traducere lipsă sau neutilizate, cu instrucțiuni ghidate.

sincronizare

Comparaț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.

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ă.