Sprachen hinzufügen

Die Lingo.dev CLI macht es einfach, Ihr Projekt auf neue Sprachen zu erweitern, indem Sie Zielsprachen zu Ihrer i18n.json-Konfiguration hinzufügen und einen einzigen Befehl ausführen.

Wenn Sie neue Sprachen hinzufügen, generiert die CLI vollständige Übersetzungsdateien für die neuen Sprachen, während alle bestehenden Übersetzungen erhalten bleiben und das gleiche Content-Fingerprinting-System beibehalten wird.

Ihre erste neue Sprache hinzufügen

Um eine neue Sprache hinzuzufügen, aktualisieren Sie das targets-Array in Ihrer i18n.json-Konfiguration:

Ursprüngliche Konfiguration:

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

Aktualisierte Konfiguration mit Deutsch:

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

Durch Ausführen von npx lingo.dev@latest i18n wird die neue deutsche Übersetzungsdatei erstellt:

locales/
  en.json    (Quelle - unverändert)
  es.json    (bestehend - unverändert)
  fr.json    (bestehend - unverändert)
  de.json    (neu - vollständig übersetzt)

Wie die Generierung neuer Sprachen funktioniert

Die Lingo.dev CLI behandelt neue Sprachen anders als bestehende:

  1. Bestehende Sprachen — Es werden nur fehlende Übersetzungen generiert
  2. Neue Sprachen — Vollständige Übersetzungsdateien werden von Grund auf neu erstellt

Beispiel mit teilweise vorhandenen Übersetzungen:

// locales/en.json (Quelle)
{
  "welcome": "Welcome",
  "button.save": "Save",
  "error.network": "Network error"
}

// locales/es.json (bestehend mit fehlenden Übersetzungen)
{
  "welcome": "Bienvenido"
}

Nach dem Hinzufügen von Deutsch und Ausführen der CLI:

// locales/es.json (Lücken gefüllt)
{
  "welcome": "Bienvenido",
  "button.save": "Guardar",
  "error.network": "Error de red"
}

// locales/de.json (komplett neue Datei)
{
  "welcome": "Willkommen",
  "button.save": "Speichern",
  "error.network": "Netzwerkfehler"
}

Hinzufügen mehrerer Sprachen

Sie können mehrere Sprachen gleichzeitig hinzufügen:

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja", "zh"]
  }
}

Die CLI verarbeitet alle neuen Sprachen und erstellt vollständige Übersetzungsdateien für jede neue Locale.

Regionale Varianten

Lingo.dev CLI unterstützt regionale Sprachvarianten unter Verwendung von BCP 47 Sprach-Tags:

{
  "locale": {
    "source": "en-US",
    "targets": ["en-GB", "es-ES", "es-MX", "fr-FR", "fr-CA"]
  }
}

Dies generiert separate Übersetzungsdateien für jede regionale Variante und berücksichtigt Unterschiede in Terminologie, Rechtschreibung und kulturellem Kontext.

Auswirkungen auf die Dateistruktur

Die CLI erstellt neue Dateien entsprechend Ihrer Bucket-Muster. Für verschiedene Dateiformate:

JSON-Buckets:

locales/[locale].json → locales/de.json, locales/ja.json

Markdown-Buckets:

content/[locale]/*.md → content/de/*.md, content/ja/*.md

Verschachtelte Strukturen:

app/[locale]/messages.json → app/de/messages.json, app/ja/messages.json

Gezielte Sprachhinzufügung

Sie können Übersetzungen für bestimmte neue Sprachen mit dem Flag --locale generieren:

npx lingo.dev@latest i18n --locale de

Dies generiert nur deutsche Übersetzungen und lässt andere neue Sprachen für die spätere Verarbeitung übrig.

Entfernen von Sprachen

Um eine Sprache zu entfernen, entfernen Sie sie einfach aus dem targets-Array. Die CLI löscht keine vorhandenen Dateien, wird aber die Verarbeitung dieser Locale einstellen:

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr"]
  }
}

Bei Bedarf können Sie die entsprechenden Übersetzungsdateien manuell löschen.