|
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 für mobile Apps

Die Lingo.dev CLI übersetzt native mobile Ressourcendateien – Xcode .strings, Android XML, Flutter ARB und React Native JSON – über eine konfigurierte Lokalisierungs-Engine. Für jede Plattform gibt es einen eigenen Bucket-Typ, der das Dateiformat versteht, die Struktur beibehält und Pluralformen nativ verarbeitet.

Plattformen im Überblick#

PlattformNatives FormatCLI-BucketTypischer Dateipfad
iOS (Xcode).stringsxcode-strings[locale].lproj/Localizable.strings
iOS (Xcode).stringsdictxcode-stringsdict[locale].lproj/Localizable.stringsdict
iOS (Xcode).xcstringsxcode-xcstringsLocalizable.xcstrings
Androidstrings.xmlandroidapp/src/main/res/values-[locale]/strings.xml
Flutter.arbflutterlib/l10n/app_[locale].arb
React Native.jsonjsonsrc/locales/[locale].json

Voraussetzungen#

Jeder CLI-Durchlauf schickt Inhalte durch eine Lokalisierungs-Engine – also die Konfiguration, die festlegt, welches LLM-Modell, Glossar, welche Markenstimme und welche Anweisungen verwendet werden. Erstelle sie im Lingo.dev-Dashboard und generiere einen API-Schlüssel.

Deine Plattform konfigurieren#

Xcode unterstützt drei Lokalisierungsformate. Verwende das Format, das zu deinem Projekt-Setup passt.

String Catalogs (.xcstrings) – das moderne Xcode-Format, eingeführt mit Xcode 15. Eine einzelne JSON-Datei enthält alle Sprachen, und Xcode aktualisiert sie automatisch, sobald du neue Strings hinzufügst. Die CLI aktualisiert diese Datei direkt – ein [locale]-Platzhalter ist nicht nötig.

json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.15",
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "xcode-xcstrings": {
      "include": ["MyApp/Localizable.xcstrings"]
    }
  }
}

Legacy-.strings-Dateien – eine Datei pro Sprache in [locale].lproj/-Verzeichnissen. Wenn dein Projekt zusätzlich .stringsdict für Pluralformen verwendet, füge beide Buckets hinzu.

json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.15",
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "xcode-strings": {
      "include": ["MyApp/[locale].lproj/Localizable.strings"]
    },
    "xcode-stringsdict": {
      "include": ["MyApp/[locale].lproj/Localizable.stringsdict"]
    }
  }
}

In Apples Lokalisierungsdokumentation findest du alles zur Einrichtung der i18n-Infrastruktur in Xcode.

Übersetzungen ausführen#

Übersetze alle Ressourcendateien mit einem einzigen Befehl:

bash
npx lingo.dev@latest run

Die CLI liest die Dateien deiner Ausgangssprache, ermittelt mithilfe des Lockfiles, was sich seit dem letzten Durchlauf geändert hat, übersetzt nur das Delta und schreibt die Ergebnisse in die Dateien der Zielsprache.

Wenn dein Projekt mehrere Ressourcentypen enthält, kannst du gezielt eine bestimmte Plattform ansteuern:

bash
npx lingo.dev@latest run --bucket android
npx lingo.dev@latest run --bucket xcode-xcstrings

Pluralformen und Plattformkonventionen#

Jede mobile Plattform behandelt Pluralformen anders – iOS verwendet .stringsdict oder die Regeln von String Catalogs, Android nutzt <plurals>-XML-Elemente und Flutter setzt auf ICU MessageFormat in ARB-Dateien. Die CLI bewahrt bei der Übersetzung die native Pluralstruktur jeder Plattform und erzeugt die korrekten Pluralkategorien für jede Zielsprache.

Hinweise für Übersetzer:innen

Mobile Strings sind oft kurz und stark kontextabhängig. Verwende Hinweise für Übersetzer:innen in Xcode-.xcstrings-Dateien, um der Lokalisierungs-Engine Kontext dazu zu geben, wo ein String erscheint – „Button-Beschriftung im Checkout-Flow“ wird anders übersetzt als „Navigationsmenüpunkt“.

Plattform-spezifische Deep Dives#

iOS mit String Catalogs
Schritt-für-Schritt-Anleitung für Xcode .xcstrings mit CLI und GitHub Actions
Android mit strings.xml
Schritt-für-Schritt-Anleitung für Android-XML-Ressourcen mit CLI und GitHub Actions

Nächste Schritte#

Unterstützte Formate
Die vollständige Referenz für alle mobilen Dateiformate und Bucket-Typen
Glossare
Markennamen und Fachbegriffe vor Übersetzungen schützen
CI/CD-Workflows
Mobile Übersetzungen bei jedem Push automatisieren
Schlüssel sperren
Bestimmte Werte übernehmen, ohne sie zu übersetzen

War diese Seite hilfreich?

Max PrilutskiyMax Prilutskiy·Aktualisiert vor 4 Monaten·3 Min. Lesezeit