Wie es funktioniert
Lingo.dev CLI kapselt komplexe Lokalisierungsverarbeitungs-Workflows hinter einer eleganten Befehlszeilenschnittstelle.
Wenn Sie npx lingo.dev@latest run ausführen, liest die CLI die Standard-Konfigurationsdatei i18n.json und führt die folgenden 5 Schritte aus:
1. Content-Erkennung
Lingo.dev CLI behandelt Ihr Projekt als die einzige Quelle der Wahrheit. Es durchsucht das Projekt rekursiv nach Übersetzungsquell- und Zieldateien basierend auf Ihren Bucket-Konfigurationen und liest sie zur Verarbeitung in den Speicher ein.
Die Erkennungsphase berücksichtigt:
- Include-Muster wie
locales/[locale].json - Exclude-Muster für Dateien, die Sie überspringen möchten
- Mehrere Bucket-Konfigurationen für verschiedene Dateitypen
2. Datenbereinigung
Nicht alle Inhalte erfordern eine Übersetzung. Produktionsanwendungen enthalten Zahlen, Boolesche Werte, Datumsangaben, UUIDs und Code-Snippets, die typischerweise sprachübergreifend unverändert bleiben.
Lingo.dev CLI filtert intelligent heraus:
- Numerische Werte wie
42oder3.14 - Boolesche Werte (
true/false) - ISO-Datumsangaben und Zeitstempel
- UUIDs und ähnliche Identifikatoren
- Codeblöcke und technische Snippets
Diese Filterung reduziert die LLM-Inferenzkosten und verbessert die Verarbeitungsgeschwindigkeit, indem sie sich nur auf übersetzbare Inhalte konzentriert.
3. Delta-Berechnung
Inhalte, die sich nicht geändert haben, sollten nicht erneut übersetzt werden. Lingo.dev CLI implementiert ein ausgeklügeltes Versionierungssystem, das:
- Content-Fingerprints mittels SHA-256-Hashing erstellt
- Aktuelle Inhalte mit dem vorherigen Zustand vergleicht, der in
i18n.lockgespeichert ist - Neue, geänderte und gelöschte Übersetzungsschlüssel identifiziert
- Nur das Delta an die Übersetzungs-Engine sendet
Dieser inkrementelle Ansatz bedeutet, dass Sie nur für das bezahlen, was neu oder geändert ist, nicht für Ihre gesamte Content-Bibliothek bei jedem Durchlauf.
Mehr erfahren: i18n.lock Lockfile
4. Lokalisierung
Lokalisierung muss zuverlässig sein, selbst bei instabilen Internetverbindungen oder Ausfällen von LLM-Anbietern. In diesem Schritt nimmt Lingo.dev CLI das Delta und sendet es an Ihr konfiguriertes Übersetzungs-Backend.
Die CLI implementiert:
- Exponential-Backoff-Retry-Strategie für Netzwerkfehler
- Automatische Fehlerwiederherstellung und Speicherung des Teilfortschritts
- Unterstützung für sowohl Raw-LLM-APIs (OpenAI, Anthropic) als auch Lingo.dev Engine
- Gleichzeitige Verarbeitung für mehrere Zielsprachen
Jede Übersetzungsanfrage enthält kontextuelle Informationen, um Konsistenz und Qualität in Ihrem gesamten Projekt sicherzustellen.
5. Content-Injection
Um saubere, überprüfbare Changesets zu gewährleisten, injiziert die Lingo.dev CLI Übersetzungen an genau den Positionen, an denen Quellinhalte vorhanden sind. Dieser Ansatz:
- Bewahrt Dateistruktur und Formatierung
- Vermeidet unnötige Git-Konflikte
- Erstellt minimale, fokussierte Diffs
- Respektiert Ihre vorhandene Prettier-Konfiguration, falls vorhanden
Das Ergebnis sind lokalisierte Dateien, die aussehen, als wären sie von Hand erstellt worden, bereit für Code-Review und Deployment.
Der vollständige Workflow
Diese fünf Schritte erzeugen typischerweise zwei Arten von Änderungen:
- Lokalisierungsdateien — Aktualisiert mit neuen und geänderten Übersetzungen
- i18n.lock-Datei — Aktualisiert mit Content-Fingerprints zur Zustandsverfolgung
Beide sollten in Ihr Repository committed werden, entweder manuell oder automatisch über CI/CD-Integrationen.
Diese Architektur stellt sicher, dass die Lingo.dev CLI effizient skaliert – von einem einzelnen Entwickler, der einige Strings übersetzt, bis hin zu Teams, die Millionen von Wörtern in Dutzenden von Sprachen verwalten.
Nächste Schritte
Nachdem Sie nun verstehen, wie die Lingo.dev CLI intern funktioniert, können Sie:
- Unserer Community beitreten: Discord — Vernetzen Sie sich mit anderen Entwicklern, die Lingo.dev CLI verwenden, teilen Sie Feedback und erhalten Sie Hilfe bei Ihren Lokalisierungsherausforderungen;
- Zum Projekt beitragen: Open Issues — Lingo.dev CLI ist Open Source und begrüßt Beiträge. Durchsuchen Sie offene Issues, schlagen Sie Features vor oder reichen Sie Pull Requests ein, um das Tool für alle zu verbessern.
Bereit loszulegen? Führe npx lingo.dev@latest init aus, um dein erstes Projekt zu konfigurieren.