Sprachen hinzufügen

Lingo.dev CLI macht es einfach, Ihr Projekt auf neue Sprachen zu erweitern, indem Sie Ziel-Locales 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 Locales, während alle vorhandenen Ü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 run wird die neue deutsche Übersetzungsdatei erstellt:

locales/
  en.json    (source - unchanged)
  es.json    (existing - unchanged)
  fr.json    (existing - unchanged)
  de.json    (new - fully translated)

Wie die Generierung neuer Sprachen funktioniert

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 (source)
{
  "welcome": "Welcome",
  "button.save": "Save",
  "error.network": "Network error"
}

// locales/es.json (existing with missing translations)
{
  "welcome": "Bienvenido"
}

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

// locales/es.json (gaps filled)
{
  "welcome": "Bienvenido",
  "button.save": "Guardar",
  "error.network": "Error de red"
}

// locales/de.json (complete new file)
{
  "welcome": "Willkommen",
  "button.save": "Speichern",
  "error.network": "Netzwerkfehler"
}

Mehrere Sprachen hinzufügen

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 jedes neue Locale.

Regionale Varianten

Lingo.dev CLI unterstützt regionale Sprachvarianten unter Verwendung von BCP 47 Language 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 dabei 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 --target-locale generieren:

npx lingo.dev@latest run --target-locale de

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

Sprachentfernung

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

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

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