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:
- Bestehende Sprachen — Es werden nur fehlende Übersetzungen generiert
- 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.