Treceți la conținut
CLI și scanare de cod

CLI și scanare de cod: Identificați automat fiecare șir netradusbr

Nu mai căutați manual șiruri hardcodate în fișierele sursă. CLI-ul Better i18n folosește analiza bazată pe AST pentru a scana întreaga bază de cod, a detecta textele netraduse din componentele și atributele JSX, a raporta cheile lipsă și neutilizate și a se integra perfect în pipeline-ul dvs. CI.

Scanare de cod bazată pe AST

Spre deosebire de scanerele bazate pe expresii regulate care produc fals pozitive, Better i18n analizează codul în format Abstract Syntax Tree pentru o detectare precisă și contextualizată a șirurilor.

Detectarea șirurilor de caractere hardcodate

Găsește automat toate șirurile de text vizibile utilizatorului care nu sunt încadrate într-o funcție de traducere, inclusiv șirurile din elementele secundare JSX și din proprietățile componentelor.

Analiza sintactică bazată pe AST

Analizează codul sursă într-un arbore sintactic abstract pentru o detectare precisă și adaptată contextului, care elimină rezultatele false pozitive ale scanerelor bazate pe expresii regulate.

Scanarea nodurilor de text JSX

Detectează conținutul textual netradus din elementele JSX, inclusiv expresiile și literalele de șablon redate direct în componentele tale.

Scanarea atributelor JSX

Identifică șiruri de caractere hardcodate în atributele JSX, precum placeholder, aria-label și title, care sunt adesea omise în timpul auditurilor manuale de internaționalizare.

Filtrare inteligentă

Ignoră valorile care nu pot fi traduse, cum ar fi numele claselor CSS, căile de import și valorile numerice, astfel încât să vezi doar rezultatele relevante.

Comenzi CLI pentru auditarea traducerilor

Comanda check oferă o experiență de auditare interactivă și prietenoasă cu dezvoltatorul. Aceasta compară cheile de traducere utilizate în codul sursă cu cheile stocate în Better i18n remote, evidențiind atât cheile lipsă care necesită traducere, cât și cheile neutilizate care pot fi eliminate.

Modelele de chei dinamice, precum literalele șablon, sunt detectate automat. Când codul utilizează t(`key.${variable}`), CLI-ul recunoaște segmentul dinamic și îl include în rapoartele cu potrivire de tipare, astfel încât nimic nu trece neobservat.

  • Efectuați un audit complet al traducerii cu o singură comandă de verificare
  • Lipsesc cheile de traducere care există în cod, dar nu și în magazinul dvs. la distanță
  • Identificați cheile neutilizate din magazinul de date al telecomenzii care nu mai sunt menționate în cod
  • Detectează tiparele dinamice de chei, cum ar fi literalele de șablon, și le marchează pentru revizuire
  • Generați rapoarte comparative între utilizarea locală și starea traducerilor de la distanță

Formate de ieșire flexibile

Rezultatele scanării sunt disponibile în mai multe formate, pentru a se adapta fluxului dvs. de lucru. Formatul de ieșire de tip ESLint oferă rapoarte ușor de citit, cu referințe la fișiere, linii și coloane. Formatul de ieșire JSON oferă date în format electronic, destinate automatizării CI/CD și instrumentelor personalizate.

Modul verbose oferă transparență completă cu jurnale de audit detaliate, rezumate de scoping și informații despre timing. Statisticile de scanare prezintă numărul de fișiere, metrici de descoperire și date de performanță, astfel încât să cunoașteți întotdeauna starea de sănătate a acoperirii traducerilor.

Ieșire în stil ESLint

Rapoarte lizibile de om, cu referințe la calea fișierului, numărul liniei și al coloanei, pentru navigare rapidă în orice editor.

Ieșire JSON

Date structurate lizibile de mașini, ideale pentru automatizarea CI/CD, tablouri de bord personalizate și integrare cu alte instrumente.

Mod verbose

Jurnale de audit detaliate cu rezumate de scoping, informații despre timing și urme de rezolvare a namespace-urilor pentru depanare.

Statistici de scanare

Numărul de fișiere, metrici de descoperire a cheilor și date de performanță, astfel încât să cunoașteți întotdeauna starea de sănătate a acoperirii traducerilor.

DevOps și integrarea CI/CD

Integrați verificările de traducere în pipeline-ul dvs. de dezvoltare existent pentru a detecta șirurile lipsă înainte de a ajunge în producție.

1

Integrare pipeline CI

Adăugați un pas de scanare în fluxul CI care oprește build-ul când sunt detectate șiruri netraduse sau chei lipsă.

2

Pre-Commit Hooks

Rulați scanări pe fișierele pregătite înainte de fiecare commit pentru a detecta șirurile netraduse cât mai devreme posibil în procesul de dezvoltare.

3

Scanare la nivel de director

Vizați directoare specifice sau tipare de fișiere pentru a scana doar părțile din baza de cod care conțin conținut destinat utilizatorilor.

4

Analiză conștientă de domeniu

Rezolvați automat namespace-urile de traducere prin urmărirea domeniului lexical, astfel încât fiecare apel t() să fie asociat cu setul corect de chei.

Better i18n CLI: Scanare de cod concepută pentru localizare

CLI-ul Better i18n combină scanarea codului bazată pe AST cu gestionarea remotă a cheilor într-un singur instrument. Scanați baza de cod pentru șiruri hardcodate, comparați utilizarea locală cu depozitul de traduceri la distanță, detectați cheile neutilizate care măresc dimensiunea bundle-ului și generați rapoarte pentru pipeline-ul CI — totul fără a părăsi terminalul.

Scanare conștientă de domeniu

Urmărește apelurile useTranslations și getTranslations prin domenii lexicale, legând automat fiecare apel t() de namespace-ul corect.

Suport pentru componente server

Suport complet pentru componentele de server async din Next.js App Router, astfel încât apelurile getTranslations din codul server sunt detectate și auditate alături de utilizarea pe partea de client.

Pre-Commit Hooks

Efectuați scanări numai asupra fișierelor pregătite pentru publicare folosind opțiunea --staged, identificând șirurile netraduse înainte ca acestea să fie salvate, fără a încetini fluxul de lucru.

Lansați traduceri fără a omite niciun șir

CLI-ul Better i18n scanează codul, detectează fiecare șir netradus și se integrează în pipeline-ul CI, astfel încât nimic nu ajunge în producție fără o traducere.