Funktionsweise

Lingo.dev CLI kapselt komplexe Lokalisierungsverarbeitungsabläufe hinter einer eleganten Befehlszeilenschnittstelle.

Wenn Sie npx lingo.dev@latest i18n ausführen, liest die CLI die standardmäßige i18n.json-Konfigurationsdatei und führt die folgenden 5 Schritte durch:

1. Inhaltserkennung

Lingo.dev CLI behandelt Ihr Projekt als maßgebliche Quelle. Es scannt das Projekt rekursiv nach Übersetzungsquell- und Zieldateien basierend auf Ihren Bucket-Konfigurationen und liest diese zur Verarbeitung in den Speicher ein.

Die Erkennungsphase berücksichtigt:

  • Einschlussmuster wie locales/[locale].json
  • Ausschlussmuster für Dateien, die übersprungen werden sollen
  • 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 in allen Sprachen unverändert bleiben.

Lingo.dev CLI filtert intelligent folgende Elemente aus:

  • Numerische Werte wie 42 oder 3.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 neu übersetzt werden. Die Lingo.dev CLI implementiert ein ausgeklügeltes Versionierungssystem, das:

  • Inhalts-Fingerprints mittels SHA-256-Hashing erstellt
  • Den aktuellen Inhalt mit dem vorherigen, in i18n.lock gespeicherten Zustand vergleicht
  • Neue, modifizierte und gelöschte Übersetzungsschlüssel identifiziert
  • Nur die Änderungen an die Übersetzungs-Engine sendet

Dieser inkrementelle Ansatz bedeutet, dass Sie nur für neue oder geänderte Inhalte bezahlen, nicht für Ihre gesamte Inhaltsbibliothek bei jedem Durchlauf.

Erfahren Sie mehr: i18n.lock Lockfile

4. Lokalisierung

Die Lokalisierung muss zuverlässig sein, selbst bei instabilen Internetverbindungen oder Ausfällen des LLM-Providers. In diesem Schritt nimmt die Lingo.dev CLI das Delta und sendet es an Ihr konfiguriertes Übersetzungs-Backend.

Die CLI implementiert:

  • Exponentielles Backoff-Retry-Verfahren für Netzwerkfehler
  • Automatische Fehlerbehebung und Speicherung des Teilfortschritts
  • Unterstützung sowohl für native LLM-APIs (OpenAI, Anthropic) als auch für die Lingo.dev Engine
  • Parallele Verarbeitung für mehrere Zielsprachen

Jede Übersetzungsanfrage enthält kontextbezogene Informationen, um Konsistenz und Qualität in Ihrem gesamten Projekt zu gewährleisten.

5. Content-Injektion

Um saubere, überprüfbare Änderungssätze zu erhalten, injiziert die Lingo.dev CLI Übersetzungen genau an den Positionen, an denen der Quellinhalt existiert. Dieser Ansatz:

  • Bewahrt Dateistruktur und Formatierung
  • Vermeidet unnötige Git-Konflikte
  • Erzeugt 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:

  1. Lokalisierungsdateien — Aktualisiert mit neuen und modifizierten Übersetzungen
  2. i18n.lock-Datei — Aktualisiert mit Inhalts-Fingerprints zur Zustandsverfolgung

Beide sollten in Ihr Repository übernommen werden, entweder manuell oder automatisch durch CI/CD-Integrationen.

Diese Architektur stellt sicher, dass die Lingo.dev CLI effizient skaliert - vom 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 verstanden haben, wie die Lingo.dev CLI intern funktioniert, können Sie:

  • Unserer Community beitreten: Discord — Verbinden Sie sich mit anderen Entwicklern, die Lingo.dev CLI nutzen, teilen Sie Feedback und erhalten Sie Hilfe bei Ihren Lokalisierungsherausforderungen;
  • Zum Projekt beitragen: Offene Issues — Lingo.dev CLI ist Open Source und begrüßt Beiträge. Durchsuchen Sie offene Issues, schlagen Sie Funktionen vor oder reichen Sie Pull Requests ein, um das Tool für alle zu verbessern.