Przejdź do treści
i18n Doctor

i18n Doctor: Uzyskajcie pełny raport dotyczący stanu tłumaczenia za pomocą jednego polecenia

Uruchom narzędzie Run better-i18n doctor, aby przeanalizować cały kod źródłowy w pięciu wymiarach — jakość kodu, zakres tłumaczenia, dokładność symboli zastępczych, klucze osierocone i synchronizacja CDN — i uzyskać jedną ocenę stanu w skali od 0 do 100 wraz z praktycznymi diagnozami.

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

Pięć warstw analizy w jednym przejściu

Program Doctor przeprowadza skanowanie kodu, analizę pokrycia, weryfikację jakości, audyt wydajności oraz kontrolę synchronizacji CDN — wszystko jednocześnie, z ujednoliconą punktacją.

Kod — wykrywanie stałych ciągów znaków

Skanowanie oparte na AST wykrywa wszystkie ciągi znaków widoczne dla użytkownika, które nie są zawarte w t(). Wykrywa tekst JSX, atrybuty, trójargumentową logikę lokalizacji, komunikaty toastowe i zmienne ciągu znaków.

Zakres — brakujące tłumaczenia

Porównuje klucze obecne w lokalizacji źródłowej z każdą lokalizacją docelową. Każdy klucz brakujący w lokalizacji docelowej jest zgłaszany wraz z dokładną nazwą przestrzeni nazw i ścieżką.

Jakość — niezgodność symboli zastępczych

Sprawdza, czy symbole zastępcze interpolacji są spójne we wszystkich lokalizacjach. Obsługuje formaty nazwane {}, podwójne nawiasy {{}}, printf%s, szablon ${} oraz pozycyjne {0}.

Wydajność — wykrywanie osieroconych kluczy

Wykrywa klucze, które istnieją w plikach tłumaczeń, ale nie są nigdy używane w kodzie. Osierocone klucze zwiększają rozmiar ładunku i powodują wzrost kosztów utrzymania.

Synchronizacja — porównanie CDN

Porównuje klucze wyodrębnione z Państwa kodu z kluczami opublikowanymi w CDN. Wykrywa problemy związane z brakującymi kluczami zdalnymi i nieużywanymi kluczami zdalnymi, zanim trafią one do produkcji.

Jeden wynik dla Państwa tłumaczenia

Lekarz oblicza wynik w skali od 0 do 100 na podstawie wyników diagnostyki. Błędy są karane 3,0 punktami każdy, natomiast wkład każdego ostrzeżenia w wynik jest ograniczony do 20 punktów — zapobiega to sytuacji, w której jedna reguła z tysiącami ostrzeżeń zniweluje cały wynik.

Domyślny próg zaliczenia wynosi 70 (ocena B). Użyj opcji --ci, aby odrzucić kompilacje poniżej tego progu, lub zacznij od opcji --report, aby ustalić punkt odniesienia przed wprowadzeniem wymogu uzyskania określonej liczby punktów.

Wzór na wynik
score = 100 - (errors × 3.0) - Σ min(rule_warnings × 0.15, 20)

Progi ocen

A+≥ 90
Przepuścić
A≥ 80
Przepuścić
B≥ 70
Przepuścić
C≥ 50
Niepowodzenie
F< 50
Niepowodzenie

Integracja CI/CD — blokowanie złych tłumaczeń przed ich wysłaniem

Dodajcie lekarza do Państwa potoku CI, aby wychwycić regresje tłumaczeń przy każdym pushu. Automatyczne uwierzytelnianie OIDC w GitHub Actions oznacza zerowe zarządzanie tajnymi danymi.

GitHub Actions z OIDC

Uwierzytelniajcie się automatycznie bez kluczy API, korzystając z GitHub Actions OIDC. Wystarczy dodać id-token: uprawnienie do zapisu i uruchomić doctor --ci --report.

Ograniczenie progowe

Ustawić próg dopuszczalny (domyślnie: 70) i odrzucić kompilację, gdy wynik spadnie poniżej tego progu. Rozpocząć śledzenie za pomocą opcji --report, a następnie wymusić za pomocą opcji --ci.

JSON nadający się do odczytu maszynowego

Użyj opcji --format json, aby uzyskać ustrukturyzowane dane wyjściowe, które można przekazać do jq, niestandardowych pulpitów nawigacyjnych lub dalszej automatyzacji w Państwa potoku wdrożeniowym.

Raportowanie na pulpicie nawigacyjnym

Prześlijcie wyniki do pulpitu nawigacyjnego Better i18n za pomocą opcji --report, aby uzyskać dostęp do historii, analizy trendów i informacji o stanie i18n dla całego zespołu.

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

Kiedy używać poszczególnych poleceń

Doktor to opcja kompleksowa. Używajcie poleceń ukierunkowanych, gdy potrzebujecie konkretnej kontroli lub chcecie uzyskać szybszą informację zwrotną w hakach pre-commit.

doktor

Pełna ocena stanu zdrowia z pięcioma warstwami analizy — jedyne wiarygodne źródło informacji o statusie i18n Państwa projektu.

skanować

Skupione wykrywanie stałych ciągów znaków. Obsługuje --staged dla haków przed zatwierdzeniem.

sprawdzać

Interaktywny moduł sprawdzający brakujące lub nieużywane klucze tłumaczeniowe z podpowiedziami.

synchronizacja

Pełne porównanie lokalne z zdalnym, pokazujące jednocześnie brakujące i nieużywane klucze.

Stworzony z myślą o rzeczywistych procesach i18n

Wynik zdrowotny 0–100

Pojedynczy wynik z podziałem na kategorie i progiem CI pozytywnym/negatywnym. Śledź stan Państwa tłumaczeń w czasie.

Śledzenie zakresu leksykalnego

Inteligentne wykrywanie przestrzeni nazw zarówno dla useTranslations, jak i getTranslations. Każde wywołanie t() jest mapowane do właściwej przestrzeni nazw.

Obsługa komponentów serwera

Pełna obsługa funkcji serwera asynchronicznego Next.js App Router. Wywołania getTranslations po stronie serwera są wykrywane i kontrolowane.

Konfigurowalne reguły

Wyłącz lub obniż poziom reguł w pliku i18n.config.ts. Ustaw reguły na „error”, „warning” lub „off”, aby dopasować je do potrzeb Państwa projektu.

Inteligentne filtrowanie

Automatycznie ignoruje nazwy klas CSS, adresy URL, ścieżki importu i stałe programistyczne. Tylko wyniki, które można wykorzystać.

Szczegółowy dziennik audytowy

Głęboka przejrzystość dzięki opcji --verbose. Podsumowania zakresu, informacje o czasie i ślady rozwiązywania przestrzeni nazw do celów debugowania.

Przed wysyłką sprawdź stan Państwa tłumaczenia

Proszę uruchomić narzędzie better-i18n doctor raz, aby uzyskać punkt odniesienia. Proszę dodać je do CI, aby nigdy więcej nie wysyłać brakujących tłumaczeń.