i18n Doctor: Erhalten Sie einen vollständigen Bericht zum Übersetzungsstatus mit einem einzigen Befehl.
Führen Sie better-i18n doctor aus, um Ihre gesamte Codebasis in fünf Dimensionen zu analysieren – Codequalität, Übersetzungsabdeckung, Genauigkeit der Platzhalter, verwaiste Schlüssel und CDN-Synchronisierung – und erhalten Sie eine einzige Gesundheitsbewertung von 0 bis 100 mit umsetzbaren Diagnosen.
Fünf Analyseebenen in einem einzigen Durchgang
Der Doktor führt Code-Scans, Abdeckungsanalysen, Qualitätsprüfungen, Leistungsaudits und CDN-Synchronisationsprüfungen durch – alles gleichzeitig und mit einer einheitlichen Bewertung.
Code – Erkennung von fest codierten Zeichenfolgen
Das AST-basierte Scannen findet alle benutzerseitigen Zeichenfolgen, die nicht in t() eingeschlossen sind. Es erfasst JSX-Text, Attribute, ternäre Lokalisierungslogik, Toast-Meldungen und Zeichenfolgenvariablen.
Abdeckung – Fehlende Übersetzungen
Vergleicht die in Ihrer Quellsprache vorhandenen Schlüssel mit jeder Zielsprache. Jeder in einer Zielsprache fehlende Schlüssel wird mit seinem genauen Namespace und Pfad gemeldet.
Qualität – Platzhalter-Fehlanpassung
Überprüft, ob Interpolationsplatzhalter in allen Sprachumgebungen konsistent sind. Unterstützt die Formate named {}, double-brace {{}}, printf-%s, template ${} und positional-{0}.
Leistung – Erkennung verwaister Schlüssel
Erkennt Schlüssel, die in Ihren Übersetzungsdateien vorhanden sind, aber im Code nie referenziert werden. Verwaiste Schlüssel erhöhen die Nutzlastgröße und verursachen Wartungsaufwand.
Synchronisierung – CDN-Vergleich
Vergleicht die aus Ihrem Code extrahierten Schlüssel mit den im CDN veröffentlichten Schlüsseln. Zeigt Probleme mit fehlenden Remote-Schlüsseln und ungenutzten Remote-Schlüsseln auf, bevor sie in die Produktion gelangen.
Eine einzige Punktzahl für die Qualität Ihrer Übersetzung
Der Arzt berechnet anhand der Diagnoseergebnisse eine Punktzahl zwischen 0 und 100. Fehler werden mit jeweils 3,0 Punkten bestraft, während der Warnbeitrag jeder Regel auf 20 Punkte begrenzt ist. Dadurch wird verhindert, dass eine einzelne Regel mit Tausenden von Warnungen Ihre gesamte Punktzahl auf Null reduziert.
Der Standard-Bestandteilschwellenwert beträgt 70 (Note B). Verwenden Sie --ci, um Builds unterhalb dieses Schwellenwerts als fehlerhaft zu kennzeichnen, oder beginnen Sie mit --report, um eine Basislinie festzulegen, bevor Sie die Bewertung durchsetzen.
score = 100 - (errors × 3.0) - Σ min(rule_warnings × 0.15, 20)Notenschwellen
CI/CD-Integration – Verhindern Sie fehlerhafte Übersetzungen, bevor sie veröffentlicht werden
Fügen Sie Doctor zu Ihrer CI-Pipeline hinzu, um bei jedem Push Übersetzungsfehler zu erkennen. Die automatische OIDC-Authentifizierung in GitHub Actions bedeutet, dass keine Geheimnisse verwaltet werden müssen.
GitHub-Aktionen mit OIDC
Führen Sie eine automatische Authentifizierung ohne API-Schlüssel mithilfe von GitHub Actions OIDC durch. Fügen Sie einfach id-token: Schreibberechtigung hinzu und führen Sie doctor --ci --report aus.
Schwellenwert-Gating
Legen Sie einen Schwellenwert für das Bestehen fest (Standard: 70) und lehnen Sie den Build ab, wenn die Punktzahl darunter fällt. Beginnen Sie die Nachverfolgung mit --report und setzen Sie sie dann mit --ci durch.
Maschinenlesbares JSON
Verwenden Sie --format json für eine strukturierte Ausgabe, die Sie in jq, benutzerdefinierte Dashboards oder nachgelagerte Automatisierungsprozesse in Ihrer Bereitstellungspipeline einbinden können.
Dashboard-Berichterstattung
Laden Sie die Ergebnisse mit --report in das Better i18n-Dashboard hoch, um historische Daten zu verfolgen, Trendanalysen durchzuführen und dem gesamten Team einen Überblick über den Status der i18n zu verschaffen.
Wann sollte welcher Befehl verwendet werden?
Doctor ist die umfassende Option. Verwenden Sie gezielte Befehle, wenn Sie eine bestimmte Überprüfung benötigen oder schnelleres Feedback in Pre-Commit-Hooks wünschen.
ArztUmfassende Gesundheitsbewertung mit fünf Analyseebenen – die einzige zuverlässige Quelle für den i18n-Status Ihres Projekts.
scannenFokussierte Erkennung von fest codierten Zeichenfolgen. Unterstützt --staged für Pre-Commit-Hooks.
bitte überprüfenInteraktiver Checker für fehlende oder ungenutzte Übersetzungsschlüssel mit geführten Eingabeaufforderungen.
synchronisierenVollständiger Vergleich zwischen lokal und remote, der sowohl fehlende als auch ungenutzte Schlüssel gleichzeitig anzeigt.
Entwickelt für reale i18n-Workflows
Gesundheitswert 0–100
Einzelbewertung mit Aufschlüsselung nach Kategorien und CI-Bestanden/Nicht bestanden-Schwellenwert. Verfolgen Sie den Zustand Ihrer Übersetzung im Laufe der Zeit.
Verfolgung des lexikalischen Geltungsbereichs
Intelligente Namespace-Erkennung für useTranslations und getTranslations. Jeder t()-Aufruf wird dem richtigen Namespace zugeordnet.
Unterstützung für Serverkomponenten
Umfassende Unterstützung für asynchrone Serverfunktionen des Next.js App Routers. Serverseitige getTranslations-Aufrufe werden erkannt und geprüft.
Konfigurierbare Regeln
Deaktivieren oder herabstufen Sie Regeln in i18n.config.ts. Legen Sie Regeln auf „error”, „warning” oder „off” fest, um sie an die Anforderungen Ihres Projekts anzupassen.
Intelligente Filterung
Ignoriert automatisch CSS-Klassennamen, URLs, Importpfade und Entwicklerkonstanten. Es werden nur umsetzbare Ergebnisse angezeigt.
Ausführliches Audit-Protokoll
Umfassende Transparenz mit --verbose. Zusammenfassungen zum Geltungsbereich, Zeitinformationen und Namespace-Auflösungsprotokolle für die Fehlerbehebung.
Verwandte Themen
CLI & Code Scanning
AST-basierte Tools zur Erkennung fest codierter Zeichenfolgen und zum Scannen von Code
For Developers
Entwicklerorientierte i18n-Tools mit typsicheren SDKs und Git-first-Workflows
Localization Software
Platforms and software for managing localization at scale
Translation Management
Zentrale Plattform für die Verwaltung umfangreicher Übersetzungsworkflows
Bitte überprüfen Sie den Status Ihrer Übersetzung, bevor Sie sie versenden.
Führen Sie einmal „better-i18n doctor“ aus, um Ihre Ausgangsbasis zu ermitteln. Integrieren Sie es in Ihre CI, um sicherzustellen, dass keine Übersetzungen mehr fehlen.