IntlPull
Guide
14 min read

Browser Intl API vs. Übersetzungsmanagement: Wann Sie was nutzen sollten (Guide 2026)

Sollten Sie die native JavaScript Intl API oder ein Übersetzungsmanagementsystem verwenden? Erfahren Sie, wann browser-native Internationalisierung ausreicht und wann Sie ein vollständiges TMS benötigen.

IntlPull Team
IntlPull Team
03 Feb 2026, 11:44 AM [PST]
On this page
Summary

Sollten Sie die native JavaScript Intl API oder ein Übersetzungsmanagementsystem verwenden? Erfahren Sie, wann browser-native Internationalisierung ausreicht und wann Sie ein vollständiges TMS benötigen.

Die Frage, die jeder Entwickler stellt

Sie fügen Ihrer App Internationalisierung hinzu. Ihre erste Google-Suche führt Sie zur MDN Intl API Dokumentation. Sie sieht vielversprechend aus: Datumsformatierung, Zahlenformatierung, sogar relative Zeitformatierung, alles im Browser eingebaut.

Warum sollten Sie etwas anderes brauchen?

Hier ist der Punkt: Die Intl API ist fantastisch für Formatierung, aber Internationalisierung ist nicht nur Formatierung. Es geht um Content-Management, Übersetzungs-Workflows, Kontext für Übersetzer, Versionskontrolle und Automatisierung.

Dieser Guide erklärt genau, was der Browser kann (und nicht kann), und wann Sie tatsächlich ein Übersetzungsmanagementsystem benötigen.

Was die Browser Intl API tatsächlich macht

Das JavaScript Intl Objekt bietet locale-bewusste Formatierung. Das ist es. Keine Übersetzungen, kein Content-Management: Formatierung.

Intl API Fähigkeiten

Zahlenformatierung:

JavaScript
1// US Format
2new Intl.NumberFormat('en-US').format(1234567.89);
3// "1,234,567.89"
4
5// Deutsches Format
6new Intl.NumberFormat('de-DE').format(1234567.89);
7// "1.234.567,89"
8
9// Währung
10new Intl.NumberFormat('ja-JP', {
11  style: 'currency',
12  currency: 'JPY'
13}).format(99000);
14// "¥99,000"

Datum/Zeit Formatierung:

JavaScript
1const date = new Date('2026-01-15');
2
3// US Format
4new Intl.DateTimeFormat('en-US').format(date);
5// "1/15/2026"
6
7// UK Format
8new Intl.DateTimeFormat('en-GB').format(date);
9// "15/01/2026"
10
11// Langes Format mit Zeit
12new Intl.DateTimeFormat('fr-FR', {
13  dateStyle: 'full',
14  timeStyle: 'short'
15}).format(date);
16// "mercredi 15 janvier 2026 à 00:00"

Relative Zeitformatierung:

JavaScript
1const rtf = new Intl.RelativeTimeFormat('en', { numeric: 'auto' });
2
3rtf.format(-1, 'day');   // "yesterday"
4rtf.format(2, 'week');   // "in 2 weeks"
5rtf.format(-3, 'month'); // "3 months ago"

Pluralisierungsregeln:

JavaScript
1const rules = new Intl.PluralRules('en-US');
2rules.select(0);  // "other"
3rules.select(1);  // "one"
4rules.select(2);  // "other"
5
6const rulesArabic = new Intl.PluralRules('ar-EG');
7rulesArabic.select(0);  // "zero"
8rulesArabic.select(1);  // "one"
9rulesArabic.select(2);  // "two"
10rulesArabic.select(5);  // "few"
11rulesArabic.select(11); // "many"

Listenformatierung:

JavaScript
1const list = new Intl.ListFormat('en', { style: 'long', type: 'conjunction' });
2list.format(['apples', 'oranges', 'bananas']);
3// "apples, oranges, and bananas"
4
5const listFr = new Intl.ListFormat('fr', { style: 'long', type: 'conjunction' });
6listFr.format(['pommes', 'oranges', 'bananes']);
7// "pommes, oranges et bananes"

Das ist mächtiges Zeug. Was fehlt also?

Was die Intl API nicht kann

Hier bleiben Entwickler stecken. Die Intl API bewältigt nicht:

1. Übersetzungsinhalte

Die Intl API speichert oder verwaltet keine übersetzten Strings. Sie brauchen immer noch:

JavaScript
1// ❌ Das existiert nicht
2const t = Intl.translate('welcome.title', 'fr');
3
4// ✅ Das bauen Sie selbst
5const translations = {
6  en: { "welcome.title": "Welcome" },
7  fr: { "welcome.title": "Bienvenue" },
8  es: { "welcome.title": "Bienvenido" }
9};

Sie sind verantwortlich für:

  • Laden von Übersetzungsdateien
  • Organisieren der Schlüsselstruktur
  • Verwalten von Fallbacks
  • Erkennen der Benutzer-Locale
  • Dynamisches Sprachwechseln

2. Komplexe Nachrichtenformatierung

Die Intl API kann keine Variablen in Übersetzungen verarbeiten:

JavaScript
1// Was Sie brauchen
2"Hello {name}, you have {count} new messages"
3
4// Was Intl.MessageFormat kann (neuere API)
5const msg = new Intl.MessageFormat(
6  "Hello {name}, you have {count, plural, one {# message} other {# messages}}",
7  "en"
8);
9msg.format({ name: "Sarah", count: 3 });
10// "Hello Sarah, you have 3 messages"

Aber Intl.MessageFormat ist:

  • Noch in Stage 1 Proposal (nicht standardisiert)
  • Nur in Chrome 117+ mit Flag verfügbar
  • Stand 2026 nicht produktionsreif

Die meisten Entwickler verwenden ICU Message Format über Bibliotheken wie @formatjs/intl oder messageformat.

3. Übersetzungs-Workflow

Null Unterstützung für:

  • Senden von Strings an Übersetzer
  • Tracking des Übersetzungsstatus
  • Verwalten von Review-Zyklen
  • Versionskontrolle für Übersetzungen
  • Zusammenarbeit zwischen Entwicklern und Linguisten

4. Kontext für Übersetzer

Übersetzer müssen sehen:

  • Wo der Text in der UI erscheint
  • Zeichenlimits
  • Screenshots
  • Verwendungshinweise

Die Intl API hat kein Konzept dafür.

5. Automatisierung

Keine eingebaute Unterstützung für:

  • Extrahieren von Strings aus Code
  • Auto-Erkennung fehlender Übersetzungen
  • CI/CD Integration
  • Pushen von Updates over-the-air

Der hybride Ansatz: Das Beste aus beiden Welten

Die meisten Produktions-Apps verwenden die Intl API für Formatierung und eine Bibliothek/TMS für Übersetzungsmanagement.

Beispiel: React App mit next-intl

TSX
1import { useTranslations } from 'next-intl';
2import { useFormatter } from 'next-intl';
3
4function ProductCard({ product }) {
5  const t = useTranslations('products');
6  const format = useFormatter();
7
8  return (
9    <div>
10      {/* Übersetzung aus TMS/Dateien */}
11      <h2>{t('title', { name: product.name })}</h2>
12
13      {/* Formatierung über Intl API */}
14      <p>{format.number(product.price, { style: 'currency', currency: 'USD' })}</p>
15      <time>{format.dateTime(product.releaseDate, { dateStyle: 'medium' })}</time>
16    </div>
17  );
18}

Die Bibliothek (next-intl) behandelt:

  • Laden von Übersetzungsdateien
  • Verwalten der aktuellen Locale
  • Bereitstellen der t() Funktion
  • Fallback-Logik

Die Intl API (über format) behandelt:

  • Zahlenformatierung
  • Datumsformatierung
  • Währungssymbole
  • Locale-spezifische Konventionen

Wann Browser-Native ausreicht

Verwenden Sie nur die Intl API wenn:

1. Einfache Formatierungsanforderungen

Sie brauchen nur Daten, Zahlen, Währungen korrekt formatiert:

JavaScript
1// Ein Dashboard mit Metriken
2const dashboard = {
3  users: Intl.NumberFormat(locale).format(1543298),
4  revenue: Intl.NumberFormat(locale, { style: 'currency', currency }).format(42000),
5  lastUpdated: Intl.DateTimeFormat(locale, { dateStyle: 'medium' }).format(new Date())
6};

2. Kein benutzersichtbarer Text

Ihre App hat minimalen UI-Text (z.B. ein Datenvisualisierungstool, internes Admin-Panel).

3. Single-Market Fokus

Sie bauen für eine Region und wollen nur korrekte Zahlen-/Datumsformatierung.

4. Lernen/Prototyping

Sie bauen eine Demo oder lernen Internationalisierungskonzepte.

Wann Sie ein Übersetzungsmanagementsystem brauchen

Verwenden Sie ein TMS (wie IntlPull, Lokalise oder Phrase) wenn:

1. Mehrere Sprachen

Sie zielen auf 3+ Sprachen. Übersetzungsdateien manuell zu verwalten wird schnell schmerzhaft.

Schmerzpunkte ohne TMS:

  • Übersetzer bearbeiten JSON/YAML Dateien direkt (bricht Syntax)
  • Keine Sichtbarkeit was übersetzt vs. fehlt
  • Kein Weg zu tracken "wer hat was wann übersetzt"
  • Merge-Konflikte in Git wenn mehrere Übersetzer arbeiten
  • Kein Review-Workflow

Mit TMS:

  • Web-UI für Übersetzer (kein Code-Zugang nötig)
  • Automatisches Tracking des Übersetzungsstatus
  • Eingebauter Review/Genehmigungsworkflow
  • Keine Merge-Konflikte (TMS handhabt Sync)

2. Häufige Content-Updates

Sie fügen wöchentlich Features hinzu. Ständig erscheinen neue Strings.

Manueller Workflow:

  • Entwickler fügt englische Strings hinzu
  • Strings in Spreadsheet exportieren
  • Übersetzer per E-Mail kontaktieren
  • Auf Antwort warten
  • Zurück in JSON copy-pasten
  • Deployen

TMS Workflow:

  • Entwickler pusht Code mit neuen Strings
  • TMS erkennt automatisch fehlende Übersetzungen
  • Übersetzer werden benachrichtigt
  • Übersetzungen syncen automatisch zurück zum Code
  • Deployen

IntlPulls CLI macht das in einem Befehl:

Terminal
1npx @intlpullhq/cli upload
2# Extrahiert neue Strings, lädt zur Plattform hoch
3# Übersetzer sehen sie sofort
4
5npx @intlpullhq/cli download
6# Lädt neueste Übersetzungen herunter

3. Nicht-technische Übersetzer

Ihre Übersetzer sind keine Entwickler. Sie können nicht mit JSON-Dateien oder Git arbeiten.

Was Übersetzer brauchen:

  • Visueller Kontext (wo erscheint dieser Text?)
  • Zeichenlimits
  • Verwendungshinweise ("Erscheint auf Buttons, kurz halten")
  • Fähigkeit Platzhalter zu sehen: {name}, {count}
  • Vorschau ihrer Übersetzungen in der tatsächlichen UI

TMSs bieten übersetzerfreundliche Interfaces. IntlPull zeigt Live-Vorschauen, damit Übersetzer ihre Änderungen im Kontext sehen.

4. Maschinelle Übersetzung + Menschliche Review

Sie wollen KI für initiale Übersetzungen nutzen, aber Menschen reviewen lassen.

Typischer Workflow:

  • Auto-Übersetzen mit ChatGPT/DeepL für alle Strings
  • Menschen reviewen und korrigieren Fehler
  • Tracken was reviewed wurde vs. auto-generiert

TMSs integrieren sich mit MT-Engines und tracken Übersetzungsquelle (Mensch vs. Maschine).

5. Over-the-Air Updates

Sie wollen Übersetzungen aktualisieren ohne Ihre App neu zu deployen.

Anwendungsfall: Sie launchen auf Spanisch, aber Benutzer melden einen Übersetzungsfehler. Ohne OTA:

  • Übersetzung im Code korrigieren
  • In Git committen
  • CI/CD Build
  • In Produktion deployen
  • Benutzer bekommen Update (vielleicht Tage später)

Mit OTA (IntlPulls Ansatz):

  • Übersetzung in Web-UI korrigieren
  • Auf "Veröffentlichen" klicken
  • Apps holen neue Übersetzungen sofort
  • Kein Deployment nötig

Das ist kritisch für mobile Apps wo App-Store-Review Tage dauert.

6. Zusammenarbeit im großen Maßstab

Mehrere Personen arbeiten an Übersetzungen:

  • Entwickler fügen Quellinhalt hinzu
  • Übersetzer übersetzen
  • Reviewer genehmigen
  • Marketing bearbeitet Texte

Ohne TMS ist das Chaos. Jeder überschreibt sich gegenseitig in Git.

Entscheidungsframework

SzenarioLösungWarum
Internes Tool, 1 Sprache, Datum/ZahlenformatierungNur Intl APIEinfach, kein Übersetzungsmanagement nötig
Marketing-Site, 3-5 Sprachen, statischer ContentIntl API + JSON DateienÜbersetzungsdateien sind ohne TMS handhabbar
SaaS Produkt, 10+ Sprachen, häufige UpdatesIntl API + TMSBraucht Workflow-Automatisierung, Zusammenarbeit, OTA
Mobile App, 5+ Sprachen, App-Store-VerzögerungenIntl API + TMS mit OTAKann nicht auf App-Store-Genehmigung für Übersetzungskorrekturen warten
E-Commerce, 20+ Sprachen, ProduktbeschreibungenIntl API + TMSHohes Content-Volumen, braucht MT + menschliche Review

Häufige Missverständnisse

"Ich kann mein eigenes TMS bauen"

Können Sie, aber es dauert 6+ Monate um zu matchen was existierende TMSs bieten.

Was Sie bauen werden:

  • Web-UI für Übersetzer
  • String-Extraktions-Skript
  • Sync-Logik (Code ↔ Plattform)
  • Zugangskontrolle (wer kann was bearbeiten)
  • Translation Memory
  • Suche/Filterung
  • Versionshistorie
  • API
  • CLI

Das ist ein Produkt, kein Wochenendprojekt. Es sei denn Übersetzungsmanagement ist Ihre Kernkompetenz, nutzen Sie eine existierende Lösung.

"TMSs sind teuer"

Manche sind (Lokalise, Phrase verlangen $500+/Monat).

Aber Indie-freundliche Optionen existieren:

  • IntlPull: Kostenlose Stufe, $29/Monat für kleine Teams, OTA-Updates inklusive
  • Tolgee: Open-Source Option
  • Crowdin: Kostenlos für Open-Source Projekte

"TMSs binden Sie"

Die meisten unterstützen Standardformate (JSON, YAML, XLIFF). Sie können exportieren und migrieren.

IntlPull speichert Übersetzungen standardmäßig in Ihrem Git-Repo. Sie besitzen Ihre Daten.

Der IntlPull Ansatz

IntlPull kombiniert das Beste aus beiden:

Nutzt Intl API für Formatierung:

JavaScript
1// IntlPull SDKs wrappen Intl API für Formatierung
2const { t, format } = useIntlPull();
3
4// Übersetzungsmanagement
5t('welcome.title');
6
7// Formatierung über Intl API
8format.number(1234.56, { style: 'currency', currency: 'USD' });

Fügt hinzu was fehlt:

  • CLI für Sync von Übersetzungen: npx @intlpullhq/cli sync --watch
  • Web-UI für Übersetzer (visueller Kontext, Screenshots)
  • Git-Integration (bidirektionaler Sync)
  • OTA-Updates (sofortige Übersetzungs-Pushes)
  • Eingebaute maschinelle Übersetzung (ChatGPT, DeepL)
  • Translation Memory (Wiederverwendung vergangener Übersetzungen)

Developer Experience:

Terminal
1# Tag 1: Setup
2npx @intlpullhq/cli init
3
4# Täglicher Workflow
5npx @intlpullhq/cli upload  # Neue Strings hochladen
6npx @intlpullhq/cli download  # Übersetzungen herunterladen
7
8# Deploy
9npm run build  # Übersetzungen werden automatisch gebündelt

Übersetzer arbeiten in der Web-UI. Entwickler verlassen nie ihr Terminal.

Migrationspfad

Wenn Sie gerade nur die Intl API und JSON-Dateien verwenden, hier wie Sie ein TMS hinzufügen:

Schritt 1: Aktuellen Stand prüfen

Terminal
1# Zählen Sie Ihre Übersetzungsdateien
2find . -name "*.json" -path "*/locales/*" | wc -l
3
4# Zählen Sie Ihre Übersetzungsschlüssel
5cat locales/en.json | jq 'keys | length'

Wenn Sie <100 Schlüssel und 1-2 Sprachen haben, sind Sie vielleicht ohne TMS okay.

Wenn Sie 500+ Schlüssel und 3+ Sprachen haben, wird ein TMS Ihnen wöchentlich Stunden sparen.

Schritt 2: TMS wählen

Bewerten Sie basierend auf:

  • Preisgestaltung (Enterprise-Features vs. Ihre Bedürfnisse prüfen)
  • Git-Integration (wollen Sie Übersetzungen in Git?)
  • OTA-Unterstützung (mobile App? Das wollen Sie)
  • Frameworks (React, Vue, React Native SDKs?)
  • API-Qualität (gute Docs, Rate Limits)

Schritt 3: Existierende Übersetzungen importieren

Die meisten TMSs unterstützen JSON-Import:

Terminal
# IntlPull Beispiel
npx @intlpullhq/cli import --format json --file locales/en.json --language en
npx @intlpullhq/cli import --format json --file locales/fr.json --language fr

Schritt 4: CI/CD einrichten

Fügen Sie Übersetzungs-Sync zu Ihrer Pipeline hinzu:

YAML
1# GitHub Actions Beispiel
2- name: Pull latest translations
3  run: npx @intlpullhq/cli download
4  env:
5    INTLPULL_API_KEY: ${{ secrets.INTLPULL_API_KEY }}
6
7- name: Build app
8  run: npm run build

Schritt 5: Übersetzer einladen

Geben Sie Übersetzern Zugang zum TMS. Sie werden nie wieder Ihren Code anfassen.

Praxisbeispiele

Unternehmen A: Nur bei Browser API geblieben

  • SaaS App, 12 Sprachen
  • Übersetzungen in JSON-Dateien in Git
  • Übersetzer reichen PRs ein (!)
  • 40% der PRs sind Übersetzungsupdates
  • Entwickler verbringen 5 Stunden/Woche mit Review von Übersetzungs-PRs
  • Übersetzungsfehler schaffen es regelmäßig in die Produktion

Jährliche Kosten: ~260 Entwicklerstunden = $26.000 (angenommen $100/Stunde)

Unternehmen B: Nutzt IntlPull

  • SaaS App, 15 Sprachen
  • Übersetzungen verwaltet in IntlPull
  • Übersetzer nutzen Web-UI, null PRs
  • Entwickler führen npx @intlpullhq/cli download vor Deploys aus
  • OTA-Updates beheben Fehler sofort
  • Entwickler verbringen 0 Stunden mit Übersetzungsmanagement

Jährliche Kosten: $348 (IntlPull: $29/Monat) Ersparnis: $25.652/Jahr

Das Fazit

Die Browser Intl API ist exzellent in dem was sie tut: Formatierung. Nutzen Sie sie für Daten, Zahlen, Währungen und locale-bewusste Anzeigelogik.

Aber Internationalisierung ist mehr als Formatierung. Es geht um:

  • Verwalten übersetzter Inhalte
  • Zusammenarbeit mit Übersetzern
  • Automatisieren von Workflows
  • Schnelles Deployen von Updates

Für alles über eine einfache App mit 1-2 Sprachen hinaus wollen Sie ein Übersetzungsmanagementsystem.

Beginnen Sie mit der Intl API für Formatierung. Fügen Sie ein TMS hinzu wenn Sie mehr als 2 Sprachen oder mehr als 100 Übersetzungsschlüssel haben. Ihr zukünftiges Ich wird Ihnen danken.


Bereit aufzuhören Übersetzungen manuell zu verwalten?

Testen Sie IntlPull kostenlos. CLI-first TMS mit Git-Integration, OTA-Updates und visuellem Kontext für Übersetzer. Keine Kreditkarte erforderlich.

Oder bleiben Sie bei DIY wenn Sie noch in der "100 Schlüssel, 2 Sprachen" Zone sind. Wir sind hier wenn Sie herauswachsen.

Tags
intl-api
browser-api
javascript
i18n
translation-management
comparison
IntlPull Team
IntlPull Team
Engineering

Building tools to help teams ship products globally. Follow us for more insights on localization and i18n.