Engineering//14 Min. Lesezeit

API-First-Lokalisierung: Übersetzung in Ihren Entwicklungs-Workflow integrieren

Eray Gündoğmuş
Teilen

API-First-Lokalisierung: Übersetzung in Ihren Entwicklungs-Workflow integrieren

Wichtigste Erkenntnisse

  • API-first-Lokalisierung ersetzt den manuellen Dateiaustausch durch automatisierte Synchronisierung zwischen Ihrer Codebasis und dem Translation Management System
  • CLI-Tools und CI/CD-Integrationen ermöglichen Push/Pull-Workflows, die Übersetzungen bei jeder Bereitstellung synchron halten
  • Webhook-basierte Benachrichtigungen lösen Builds aus, wenn Übersetzungen aktualisiert werden, und ermöglichen so kontinuierliche Lokalisierung
  • API-first-Ansätze reduzieren die Time-to-Market für neue Sprachen von Wochen auf Stunden

Was ist API-First-Lokalisierung?

API-first-Lokalisierung ist ein Ansatz, bei dem das Translation Management System (TMS) über REST-APIs, CLI-Tools und Webhooks programmatischen Zugriff auf alle Übersetzungs-Workflows bietet. Anstatt Übersetzungsdateien manuell zu exportieren/importieren, integrieren Entwickler die Übersetzungssynchronisierung direkt in ihre Build- und Deployment-Pipelines.

Traditioneller vs. API-First-Workflow

Traditionell (Dateibasiert)

  1. Entwickler exportiert Quell-Strings in eine Datei (JSON, XLIFF usw.)
  2. Datei wird ins TMS hochgeladen oder per E-Mail an Übersetzer gesendet
  3. Übersetzte Dateien kommen nach Tagen/Wochen zurück
  4. Entwickler lädt Dateien herunter und legt sie in die richtigen Verzeichnisse
  5. Entwickler committet und deployt

Probleme: Manuelle Schritte, Versionsdrift, Merge-Konflikte, langsame Zykluszeiten.

API-First

  1. Entwickler pusht neue Strings per CLI: better-i18n push
  2. TMS benachrichtigt Übersetzer über neue Inhalte
  3. Übersetzer arbeiten im TMS-Editor mit vollem Kontext
  4. Webhook löst CI/CD aus, wenn Übersetzungen abgeschlossen sind
  5. Build zieht die neuesten Übersetzungen: better-i18n pull
  6. Deployment enthält aktualisierte Übersetzungen automatisch

Vorteile: Kein manueller Dateiaufwand, kontinuierliche Synchronisierung, schnellere Zykluszeiten.

Kernkomponenten der API-First-Lokalisierung

REST API

Die TMS-API stellt folgende Endpunkte bereit:

POST /api/keys          — Neue Übersetzungsschlüssel erstellen
GET  /api/translations  — Übersetzungen für ein Locale abrufen
PUT  /api/translations  — Übersetzungen aktualisieren
GET  /api/projects      — Projekte und deren Status auflisten
POST /api/upload        — Quelldateien hochladen
GET  /api/download      — Übersetzte Dateien herunterladen

CLI-Tool

Ein Kommandozeilen-Tool, das die API für Entwickler kapselt:

# Neue Quell-Strings ins TMS pushen
better-i18n push

# Neueste Übersetzungen ziehen
better-i18n pull --locale=de,fr,ja

# Übersetzungsstatus prüfen
better-i18n status

# Codebasis nach nicht übersetzten Strings durchsuchen
better-i18n scan

Webhooks

Ereignisgesteuerte Benachrichtigungen bei Änderungen an Übersetzungen:

{
  "event": "translations.completed",
  "project": "my-app",
  "locale": "de",
  "completed_keys": 142,
  "total_keys": 142
}

Verwenden Sie Webhooks, um CI/CD-Pipelines, Slack-Benachrichtigungen oder automatisierte Deployments auszulösen.

CI/CD-Integration

Integrieren Sie die Übersetzungssynchronisierung in Ihre Build-Pipeline:

# GitHub Actions Beispiel
- name: Pull translations
  run: better-i18n pull --all
  env:
    BETTER_I18N_TOKEN: ${{ secrets.BETTER_I18N_TOKEN }}

- name: Build
  run: npm run build

Vorteile der API-First-Lokalisierung

VorteilAuswirkung
Automatisierte SynchronisierungKein manuelles Dateimanagement
VersionskontrolleÜbersetzungen werden zusammen mit dem Code verfolgt
Continuous DeliveryNeue Übersetzungen werden mit jedem Deployment ausgeliefert
EntwicklererfahrungVertrauter CLI/API-Workflow
Schnellere Time-to-MarketNeue Sprachen in Stunden statt Wochen
Weniger FehlerKeine Dateiformat-Probleme oder falsch abgelegte Dateien

Implementierungsmuster

Muster 1: Build-Time Pull

Übersetzungen werden während des Build-Schritts gezogen. Übersetzungen werden beim Build in die App gebündelt.

Am besten geeignet für: Statische Websites, vorgerenderte Seiten, mobile Apps.

Muster 2: Runtime Fetch

Übersetzungen werden zur Laufzeit von der API abgerufen. Ermöglicht sofortige Updates ohne erneutes Deployment.

Am besten geeignet für: SPAs, dynamische Web-Apps, Echtzeit-Inhalte.

Muster 3: Hybrid

Übersetzungen werden zum Build-Zeitpunkt für das initiale Laden gezogen, Updates werden zur Laufzeit für Hotfixes abgerufen.

Am besten geeignet für: Produktions-Apps, die sowohl Performance als auch Flexibilität benötigen.

FAQ

Muss ich mein Dateiformat ändern, um API-first-Lokalisierung zu nutzen? Nein. Die meisten API-first-TMS-Plattformen unterstützen Standardformate (JSON, XLIFF, YAML, .strings, .xml) und führen die Formatkonvertierung automatisch durch.

Wie gehe ich mit Übersetzungsschlüsseln um, die umbenannt oder gelöscht werden? Der CLI-Befehl scan erkennt unbenutzte Schlüssel. API-Endpunkte ermöglichen Batch-Schlüsseloperationen. Die meisten TMS-Plattformen verfolgen den Schlüssel-Lebenszyklus und markieren verwaiste Übersetzungen.

Was passiert, wenn die API während eines Builds nicht erreichbar ist? Verwenden Sie zwischengespeicherte Übersetzungen als Fallback. Speichern Sie den letzten erfolgreichen Pull in der Versionskontrolle, damit Builds immer eine Basis haben, auch wenn die API nicht erreichbar ist.

Wie verwalte ich Übersetzungen für mehrere Umgebungen? Verwenden Sie Namespacing auf Projekt- oder Branch-Ebene. Einige TMS-Plattformen unterstützen umgebungsspezifische Overrides (Staging, Production) für dasselbe Projekt.

Ist API-first-Lokalisierung für kleine Projekte geeignet? Ja. Der CLI-Push/Pull-Workflow ist selbst für Projekte mit wenigen hundert Strings einfacher als manuelles Dateimanagement. Der Aufwand für die Einrichtung der API-Integration ist minimal im Vergleich zur eingesparten Zeit.

Comments

Loading comments...