Arbeiten mit bestehenden Übersetzungen

Lingo.dev CLI integriert sich nahtlos in Projekte, die bereits Übersetzungsdateien haben, bewahrt bestehende Arbeit und füllt fehlende Übersetzungen aus.

Wenn Sie die CLI in einem Projekt mit bestehenden Übersetzungen ausführen, analysiert sie, was bereits übersetzt ist, und generiert nur Inhalte für fehlende Schlüssel, wobei Ihre bestehende Übersetzungsqualität und Konsistenz erhalten bleibt.

Hinweis: Stellen Sie sicher, dass Ihre Zielsprachdateien leer sind und keinen Inhalt in der Ausgangssprache enthalten. Ausgangsspracheninhalte in Zieldateien sind eine schlechte Praxis und können den Übersetzungsprozess beeinträchtigen.

Funktionsweise

Lingo.dev CLI vergleicht Ihren Quellinhalt mit bestehenden Zieldateien, um Lücken zu identifizieren. Es werden nur fehlende Übersetzungen generiert, Ihre bestehende Arbeit bleibt unberührt.

Beispielszenario:

// locales/en.json (source)
{
  "welcome": "Welcome to our app",
  "button.save": "Save",
  "button.cancel": "Cancel",
  "error.network": "Network error"
}

// locales/es.json (existing partial translations)
{
  "welcome": "Bienvenido a nuestra aplicación",
  "button.save": "Guardar"
}

Durch Ausführen von npx lingo.dev@latest run werden nur die fehlenden Übersetzungen generiert:

// locales/es.json (after CLI run)
{
  "welcome": "Bienvenido a nuestra aplicación",
  "button.save": "Guardar",
  "button.cancel": "Cancelar",
  "error.network": "Error de red"
}

Ihre bestehenden Übersetzungen für "welcome" und "button.save" bleiben unverändert.

Erste Ausführung mit bestehenden Übersetzungen

Wenn Sie Lingo.dev CLI zum ersten Mal in einem Projekt mit bestehenden Übersetzungen ausführen, erstellt es die i18n.lockDatei basierend auf Ihrem aktuellen Zustand. Diese Lockfile verfolgt, welche Inhalte verarbeitet wurden, und stellt sicher, dass bestehende Übersetzungen nicht neu generiert werden.

Workflow:

  1. Initialer Scan — CLI identifiziert bestehende Übersetzungen in Zieldateien
  2. Lückenanalyse — Vergleicht Quellschlüssel mit Zieldateien, um fehlende Übersetzungen zu finden
  3. Übersetzungsgenerierung — Erstellt nur fehlende Übersetzungen
  4. Lockfile-Erstellung — Zeichnet Content-Fingerprints für alle Quellinhalte auf

Migration von Legacy-Übersetzungssystemen

Lingo.dev CLI funktioniert mit Übersetzungsdateien, die von jedem Tool erstellt wurden, solange sie Standardformaten wie JSON, YAML oder anderen unterstützten Dateitypen folgen.

Migrationsschritte:

  1. i18n.json konfigurieren — Richten Sie Ihre Bucket-Muster ein, um vorhandene Dateispeicherorte abzugleichen
  2. Erste Übersetzung ausführen — CLI füllt fehlende Übersetzungen aus
  3. Überprüfen und committen — Vorhandene Übersetzungen werden beibehalten, nur Lücken werden gefüllt

Beispiel-Migration:

// Your existing project structure
locales/
  en.json    (source)
  es.json    (partial translations from previous tool)
  fr.json    (partial translations from previous tool)

// i18n.json configuration
{
  "locale": {
    "source": "en",
    "targets": ["es", "fr"]
  },
  "buckets": {
    "json": {
      "include": ["locales/[locale].json"]
    }
  }
}

Die CLI respektiert Ihre vorhandene Dateistruktur und Übersetzungen.

Umgang mit Übersetzungsqualität

Vorhandene Übersetzungen können eine schlechtere Qualität aufweisen als Übersetzungen, die von KI-Übersetzungsengines generiert wurden. Lingo.dev CLI bietet Optionen, um Übersetzungen bei Bedarf zu aktualisieren:

Vorhandene Übersetzungen beibehalten:

npx lingo.dev@latest run
# Preserves all existing translations, fills in gaps

Bestimmte Sprachen neu übersetzen:

npx lingo.dev@latest run --force --target-locale es
# Regenerates all Spanish translations

Bestimmte Schlüssel neu übersetzen:

npx lingo.dev@latest run --force --key error.network
# Regenerates just the error.network key across all languages

Weitere Informationen zur Neuübersetzung finden Sie unter Neuübersetzung.

Leere Zieldateien

Wenn Sie leere Zieldateien oder Dateien mit nur einigen Schlüsseln haben, behandelt Lingo.dev CLI diese als teilweise übersetzt und füllt fehlende Inhalte aus.

Beispiel:

// locales/de.json (empty target file)
{}

Nach Ausführung der CLI wird daraus eine vollständige Übersetzungsdatei mit allen übersetzten Quellschlüsseln.

Lockfile-Initialisierung

Der erste Durchlauf erstellt eine Datei i18n.lock, die Ihren vorhandenen Status widerspiegelt. Dies verhindert, dass die CLI Inhalte neu übersetzt, die bereits vorhanden waren, selbst wenn sie ursprünglich nicht von Lingo.dev CLI generiert wurden.

Diese Sperrdatei gewährleistet ein konsistentes Verhalten zwischen vorhandenen und neuen Übersetzungen in Zukunft.