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.
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.
score = 100 - (errors × 3.0) - Σ min(rule_warnings × 0.15, 20)Progi ocen
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.
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.
doktorPeł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.
synchronizacjaPeł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.
Powiązane tematy
CLI & Code Scanning
Narzędzia do wykrywania stałych ciągów znaków oparte na AST i skanowania kodu
For Developers
Narzędzia i18n przeznaczone dla programistów, z bezpiecznymi typowo SDK i przepływami pracy opartymi na Git
Localization Software
Platforms and software for managing localization at scale
Translation Management
Scentralizowana platforma do zarządzania procesami tłumaczeniowymi na dużą skalę
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ń.