|
Dokumentation
Demo buchenPlattform
PlattformMCPCLIAPIWorkflows
Leitfäden
Changelog

Lokalisierung

  • Überblick
  • Translation API
  • Lokalisierung für Web-Apps
  • Lokalisierung für mobile Apps
  • iOS mit String Catalogs
  • Android mit strings.xml
  • E-Mail-Lokalisierung
  • Statische Inhalte (z. B. .md, .json)
  • Next.js mit Markdoc
  • Rails mit i18n

Workflows

  • Engine-Setup mit MCP
  • Jira-Triage
  • CI/CD

Lokalisierung statischer Inhalte

Die Lingo.dev CLI übersetzt statische Dateien in deinem Repository – Markdown, MDX, Markdoc, JSON, YAML, Untertitel und mehr – über eine konfigurierte Lokalisierungs-Engine. Zeige einfach auf deine Inhalte, führe sie einmal aus, und du erhältst die übersetzten Dateien direkt neben den Quelldateien.

Unterstützte Inhaltstypen#

Die CLI erkennt das Format jeder Datei automatisch an der Dateiendung – ein Bucket-Typ muss nicht konfiguriert werden. Die Sprache steckt im Pfad (content/en/x.md wird zu content/de/x.md), daher ist kein [locale]-Platzhalter nötig.

InhaltstypFormatBeispielpfad
DokumentationMarkdowndocs/en/getting-started.md
DokumentationMDXdocs/en/getting-started.mdx
DokumentationMarkdocdocs/en/getting-started.mdoc
Strukturierte DatenJSONdata/en.json
Strukturierte DatenYAMLdata/en.yaml
BlogartikelMarkdown / MDXblog/en/post-slug.md
LokalisierungGettext POlocale/en/messages.po
LokalisierungXLIFFlocale/en.xliff
UntertitelSRTsubs/en/intro.srt

Die vollständige Liste aller unterstützten Dateitypen finden Sie in der Format-Referenz.

In der neuen CLI noch nicht unterstützt

CSV (csv-per-locale), VTT-Untertitel, einfacher Text .txt und Java .properties werden von der neuen CLI noch nicht unterstützt. Verwende diese Dateien vorerst weiterhin in der legacy CLI und behalte das Changelog für Updates im Blick.

Voraussetzungen#

Bei jedem Durchlauf werden Inhalte über eine Lokalisierungs-Engine verarbeitet — die Konfiguration, die festlegt, welches LLM-Modell, Glossar, welche Markenstimme und welche Regeln gelten. Erstelle sie im Lingo.dev-Dashboard und richte dann die CLI (Node 22+) ein:

bash
npm install -g @lingo.dev/cli
lingo login
lingo init
lingo link

lingo init und lingo link erstellen .lingo/config.json und verbinden die CLI mit Ihrer Organisation und Engine. Committen Sie diese Datei, damit in jeder Umgebung dieselbe Konfiguration verwendet wird.

json
{
  "orgId": "org_abc123",
  "engineId": "eng_abc123",
  "sourceLocale": "en",
  "targetLocales": ["es", "fr", "de", "ja"],
  "files": [{ "pattern": "docs/en/getting-started.md" }]
}

Überspringen Sie in CI lingo login und stellen Sie stattdessen LINGO_API_KEY als Umgebungsvariable bereit. Erzeugen Sie sie über API keys.

Dokumentationssites#

Die meisten Dokumentations-Frameworks organisieren übersetzte Inhalte in sprachspezifischen Verzeichnissen. Fügen Sie in files pro Quelldatei ein Muster (oder ein Glob) hinzu. Die CLI bewahrt Frontmatter, Codeblöcke und Komponenten-Syntax, während Markdown, MDX und Markdoc übersetzt werden.

json
{
  "orgId": "org_abc123",
  "engineId": "eng_abc123",
  "sourceLocale": "en",
  "targetLocales": ["es", "fr", "de", "ja"],
  "files": [
    { "pattern": "docs/en/getting-started.md" },
    { "pattern": "docs/en/setup.mdx" }
  ]
}

Starten Sie die erste Übersetzung und füllen Sie dabei alle Zielsprachen auf:

bash
lingo push --backfill-missing

Bei späteren Läufen übersetzt lingo push nur das, was sich geändert hat. Mit lingo pull rufen Sie Übersetzungen ab, die an anderer Stelle erstellt wurden.

Passen Sie den Quellpfad an die Verzeichnisstruktur Ihres Frameworks an:

FrameworkVerzeichniskonvention pro SpracheReferenz
Docusaurusi18n/[locale]/docusaurus-plugin-content-docs/current/Docusaurus i18n-Guide
NextraSeiten pro Sprache oder JSON-WörterbücherNextra-Dokumentation
Hugocontent/[locale]/Hugo-Guide für Mehrsprachigkeit
Astrosrc/content/[locale]/ oder JSON-WörterbücherAstro i18n-Guide
VitePressVerzeichnispräfix [locale]/VitePress i18n
MkDocsSprachspezifisches docs/ mit i18n-PluginMkDocs i18n-Plugin

MDX-Komponenten

Bei der MDX-Übersetzung bleibt die JSX-Komponenten-Syntax erhalten. Benutzerdefinierte Komponenten wie <Callout>, <Tabs> und <CodeBlock> werden unverändert übernommen – nur der darin enthaltene Text wird übersetzt.

Strukturierte Daten#

JSON- und YAML-Dateien werden anhand ihrer Dateiendung automatisch übersetzt. Mit Schlüsselsteuerungen stellen Sie sicher, dass nicht übersetzbare Werte (IDs, URLs, Konfigurations-Flags) nicht verändert werden.

json
{
  "orgId": "org_abc123",
  "engineId": "eng_abc123",
  "sourceLocale": "en",
  "targetLocales": ["es", "fr", "de", "ja"],
  "files": [
    { "pattern": "content/en.json" },
    { "pattern": "data/en.yaml" }
  ]
}

Generisches YAML benötigt kein format-Feld. Nur yaml-openapi, yaml-root-key und android erfordern eine explizite "format" im Dateieintrag.

YAML mit Sprache als Root-Key

YAML-Dateien, die den Sprachcode als Root-Key verwenden (üblich in Rails und Hugo), benötigen eine explizite "format": "yaml-root-key" — der Root-Key wird auf die Zielsprache umgeschrieben. Siehe die Format-Referenz.

Untertitel#

SRT-Untertiteldateien werden anhand ihrer Dateiendung übersetzt. Die CLI bewahrt alle Zeitdaten, Cue-Indizes und Formatierungs-Tags – übersetzt wird nur der Textinhalt.

json
{
  "orgId": "org_abc123",
  "engineId": "eng_abc123",
  "sourceLocale": "en",
  "targetLocales": ["es", "fr", "de", "ja"],
  "files": [{ "pattern": "subs/en/intro.srt" }]
}

VTT noch nicht unterstützt

WebVTT-Untertitel (.vtt) werden von der neuen CLI noch nicht unterstützt. Verwenden Sie für VTT-Dateien vorerst die legacy CLI und behalten Sie das Changelog im Blick.

Arbeiten mit großen Inhaltsmengen#

Repos mit statischen Inhalten können Tausende von Dateien enthalten. Die CLI geht damit effizient um:

MechanismusSo hilft es
Laufstatus.lingo/lock.json verfolgt Fingerprints des Quellinhalts, sodass lingo push nur neue oder geänderte Dateien übersetzt. Committen Sie die Datei – sie wird bei jedem Push neu generiert.
Serverseitige ParallelisierungDie Engine parallelisiert die Übersetzung automatisch – es gibt kein Concurrency-Flag, das Sie anpassen müssen.
Gezielte LäufeMit einem Glob begrenzen Sie einen Lauf auf bestimmte Dateien: lingo push "docs/en/**".

Um zu prüfen, ob Übersetzungen aktuell sind, ohne Dateien zu schreiben – praktisch als CI-Gate – führen Sie lingo check aus.

Nächste Schritte#

Unterstützte Formate
Die vollständige Referenz aller Dateiformate, die die CLI übersetzen kann
Beispielprojekte
Einsatzbereite Markdown-, MDX-, Markdoc- und OpenAPI-Repositories inklusive eingecheckter Konfiguration und Übersetzungen
Schlüsselsteuerungen
Verhindere, dass bestimmte Werte übersetzt werden
GitHub-App
Automatisiere die Übersetzung statischer Inhalte bei jedem Push
Laufstatus
So funktioniert die inkrementelle Nachverfolgung von Übersetzungen mit .lingo/lock.json

War diese Seite hilfreich?

Max PrilutskiyMax Prilutskiy·Aktualisiert vor 13 Tagen·4 Min. Lesezeit