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:
- 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 (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.