Skip to main content

i18n-Konverter

Konvertieren Sie zwischen mehr als 32 i18n-Dateiformaten: Android XML, iOS Strings, XLIFF, PO, JSON, YAML und weitere. Soweit möglich verlustfrei, andernfalls mit deutlichen Warnungen vor Datenverlust.

Das Problem

Jede Plattform verwendet ein anderes Übersetzungsformat. Android nutzt strings.xml, iOS .strings und .stringsdict. Web-Apps nutzen JSON oder YAML. Übersetzungsfachkräfte und TMS-Plattformen benötigen XLIFF oder PO. Um Zeichenfolgen plattformübergreifend zu teilen, kopieren Sie zwischen Formaten, schreiben einmalige Skripte oder strukturieren Dateien manuell um. Das ist mühsam, fehleranfällig und funktioniert nicht mehr, sobald ein neues Format hinzukommt.

Ein einziges Mobil- und Webprojekt kann problemlos mehr als fünf verschiedene Übersetzungsdateiformate umfassen. Sie manuell synchron zu halten, ist aussichtslos.

Die Lösung

i18n-convert ist ein einzelnes CLI-Werkzeug, das zwischen mehr als 32 i18n-Dateiformaten konvertiert. Es erkennt das Eingabeformat automatisch, erhält so viel Struktur wie möglich und warnt Sie, wenn bei einer Konvertierung Daten verloren gingen, etwa Pluralformen in CSV.

Terminal
# Auto-detect input format, convert to Android XML
i18n-convert en.json --to android-xml -o strings.xml

# iOS Strings to Gettext PO
i18n-convert Localizable.strings --to po -o messages.po

# XLIFF to Rails YAML
i18n-convert translations.xliff --to yaml-rails -o en.yml

# Pipe to stdout
i18n-convert messages.po --to json

Automatische Erkennung

Das Eingabeformat wird anhand von Dateierweiterung und Inhalt automatisch erkannt. Keine Optionen erforderlich.

Soweit möglich verlustfrei

Metadaten, Kommentare und Pluralformen bleiben erhalten, wenn das Zielformat sie unterstützt.

Warnungen vor Datenverlust

Würde eine Konvertierung Informationen verlieren, erhalten Sie ausdrückliche Warnungen, bevor eine Datei geschrieben wird.

Installation

Installieren Sie das Werkzeug für die einfachste Einrichtung über npm, unter macOS über Homebrew oder erstellen Sie es mit Cargo aus dem Quellcode.

Terminal
npm install -g @i18n-agent/i18n-convert
Das npm-Paket enthält vorkompilierte Binärdateien für macOS, Linux und Windows. Eine Rust-Toolchain ist nicht erforderlich.

Häufige Konvertierungen

Die meisten Teams benötigen wiederholt einige wenige Konvertierungen: JSON zu Android XML für Mobilgeräte, PO zu JSON für das Web und XLIFF-Hin- und Rückkonvertierungen zur Übergabe an Übersetzungsfachkräfte. Hier finden Sie einige häufige Muster.

Batch conversion
# Convert all PO files to JSON
for f in locales/*.po; do
  i18n-convert "$f" --to json -o "${f%.po}.json"
done

# Convert entire directory
i18n-convert locales/ --to json --out-dir locales-json/

Unterstützte Formate

i18n-convert unterstützt mehr als 32 Formate aus den Bereichen Mobilgeräte, Web, Lokalisierungsstandards und Datenaustausch.

Mobilgeräte

FormatExtensionFlag
Android XML.xml--to android-xml
iOS Strings.strings--to ios-strings
iOS Stringsdict.stringsdict--to ios-stringsdict
Flutter ARB.arb--to arb

Web

FormatExtensionFlag
JSON (flat).json--to json
JSON (nested).json--to json-nested
YAML.yml--to yaml
YAML (Rails).yml--to yaml-rails
Properties.properties--to properties

Lokalisierungsstandards

FormatExtensionFlag
XLIFF 1.2.xlf--to xliff
XLIFF 2.0.xlf--to xliff-2
Gettext PO.po--to po
Gettext POT.pot--to pot
TMX.tmx--to tmx
TBX.tbx--to tbx

Datenaustausch

FormatExtensionFlag
CSV.csv--to csv
TSV.tsv--to tsv
Excel.xlsx--to xlsx

Warnungen vor Datenverlust

Nicht alle Formate sind gleichwertig. XLIFF unterstützt Hinweise, Kontexte und Pluralformen; CSV keines davon. Bei der Konvertierung von einem ausdrucksstarken in ein einfacheres Format teilt i18n-convert Ihnen genau mit, was verloren geht.

Terminal
$ i18n-convert plurals.po --to csv
Data loss warnings:
  [ERROR] 3 entries use plurals (not supported by CSV)
Proceed? [y/N]

# Skip prompts
i18n-convert plurals.po --to csv --force

# Preview warnings without writing
i18n-convert plurals.po --to csv --dry-run
Verwenden Sie vor der Konvertierung in ein einfacheres Format in der Produktion stets --dry-run. So sehen Sie jede Warnung, ohne Dateien zu schreiben.

CI-Integration

Automatisieren Sie die Formatsynchronisierung in Ihrer CI/CD-Pipeline. Wenn sich Ihre Ausgangsübersetzungsdatei ändert, erzeugen Sie sämtliche abgeleiteten Formate automatisch neu, damit Dateien für Mobilgeräte, Web und Übersetzungsfachkräfte synchron bleiben.

.github/workflows/format-sync.yml
# .github/workflows/format-sync.yml
name: Sync Translation Formats
on:
  push:
    branches: [main]
    paths: ['locales/en.json']

jobs:
  sync-formats:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install i18n-convert
        run: npm install -g @i18n-agent/i18n-convert

      - name: Convert JSON to Android XML
        run: i18n-convert locales/en.json --to android-xml -o android/res/values/strings.xml

      - name: Convert JSON to iOS Strings
        run: i18n-convert locales/en.json --to ios-strings -o ios/en.lproj/Localizable.strings

      - name: Commit synced formats
        run: |
          git config user.name "github-actions"
          git config user.email "[email protected]"
          git add android/ ios/
          git diff --cached --quiet || git commit -m "chore: sync translation formats"
          git push
Kombinieren Sie i18n-convert mit i18n-validate in Ihrer CI-Pipeline. Konvertieren Sie zuerst die Formate und validieren Sie anschließend, dass alle Zieldateien vollständig und wohlgeformt sind.

i18n Agent jetzt testen

Legen Sie Ihre Übersetzungsdatei hier ab

JSON, YAML, PO, XML, CSV, Markdown, Properties

oder zum Auswählen klicken

Zielsprachen

Keine Registrierung erforderlichSofortiges Angebot

Häufig gestellte Fragen