Die Verwirrung
Entwickler hören diese Begriffe ständig:
- "Wir müssen die App globalisieren"
- "Fügt Lokalisierung für Europa hinzu"
- "Ist die Codebase internationalisiert?"
Was ist der Unterschied? Sind sie dasselbe?
Nein. Sie sind verwandt aber unterschiedlich. Hier ist die einfache Aufschlüsselung:
| Begriff | Abkürzung | Bedeutung | Wer macht es |
|---|---|---|---|
| Internationalisierung | i18n | App so designen dass sie mehrere Sprachen unterstützt | Entwickler |
| Lokalisierung | L10n | Inhalt für spezifische Märkte übersetzen | Übersetzer |
| Globalisierung | G11n | Die Gesamtstrategie | Produkt + Marketing |
Stellen Sie es sich so vor:
- i18n = Ein Auto mit modularer Lenkung bauen (links oder rechts)
- L10n = Linkssteuerung für UK installieren, Rechtssteuerung für US
- G11n = Entscheiden in welchen Ländern Autos verkauft werden
Internationalisierung (i18n)
Definition: Software-Architektur so designen dass sie mehrere Sprachen und Regionen ohne Code-Änderungen unterstützt.
Das tun Entwickler bevor irgendetwas übersetzt wird.
Was i18n beinhaltet
1. Benutzer-sichtbaren Text aus Code extrahieren:
JSX1// ❌ Nicht internationalisiert 2<button>Save</button> 3 4// ✅ Internationalisiert 5<button>{t('save')}</button>
2. Verschiedene Datenformate unterstützen:
- Daten: US (MM/DD/YYYY) vs Europa (DD/MM/YYYY)
- Zahlen: 1,234.56 (US) vs 1.234,56 (Deutschland)
3. Textrichtung handhaben:
- Links-nach-rechts (LTR): Englisch, Spanisch, Deutsch
- Rechts-nach-links (RTL): Arabisch, Hebräisch
4. Pluralisierung unterstützen:
- Englisch: 1 item, 2 items (2 Formen)
- Polnisch: 1 przedmiot, 2 przedmioty, 5 przedmiotów (3 Formen)
- Arabisch: 0, 1, 2, 3-10, 11-99, 100+ (6 Formen!)
Lokalisierung (L10n)
Definition: Inhalt für ein spezifisches Locale (Sprache + Region) anpassen.
Das tun Übersetzer. Aber es ist mehr als nur Übersetzung.
Was L10n beinhaltet
1. Übersetzung (offensichtlich)
- "Save" → "Speichern" (Deutsch)
2. Kulturelle Anpassung
- Farben: Weiß = Reinheit (Westen), Trauer (China)
- Bilder: Hautzeigen in konservativen Märkten
- Beispiele: Lokale Namen verwenden, nicht "John Smith"
3. Regionale Formatierung
- Währung: $ in US, € in Europa, £ in UK
L10n Beispiel: Spanisch für Spanien vs Mexiko
Gleiche Sprache, unterschiedliche Locale:
| String | Spanien (es-ES) | Mexiko (es-MX) |
|---|---|---|
| "Computer" | "Ordenador" | "Computadora" |
| Währung | € (Euro) | $ (Peso) |
Globalisierung (G11n)
Definition: Die Gesamtgeschäftsstrategie global zu gehen.
Das machen Produkt- und Marketing-Teams.
G11n beinhaltet
- Marktforschung: Welche Länder anvisieren?
- Produktanpassung: Brauchen wir unterschiedliche Features pro Region?
- Distributionsstrategie: Zahlungsmethoden pro Markt
- Compliance: DSGVO, CCPA
- Operations: Lokaler Kundensupport
Wie sie zusammenarbeiten
Phase 1: Internationalisieren (Entwickler)
Terminal1# Monat 1-2 2- Alle hardcoded Strings extrahieren 3- i18n-Bibliothek verwenden (react-i18next, next-intl) 4- Datum/Zahlen/Währungsformatierung unterstützen 5- Mit RTL-Sprachen testen
Output: App ist bereit für Übersetzung.
Phase 2: Lokalisieren (Übersetzer)
Terminal1# Monat 3 2- Strings ins Spanische, Französische, Deutsche übersetzen 3- Bilder/Icons für kulturelle Passung anpassen 4- Marketing-Texte lokalisieren (keine wörtliche Übersetzung)
Output: App funktioniert jetzt in 4 Sprachen.
Phase 3: Globalisieren (Business)
Terminal1# Monat 4-6 2- In Zielmärkten launchen 3- Lokale Marketing-Kampagnen 4- Mit lokalen Zahlungsanbietern partnern 5- Regionalen Kundensupport einrichten
Häufige Fehler
1. i18n mit L10n verwechseln
Falsch: "Wir haben die App ins Spanische internationalisiert."
Richtig: "Wir haben die App internationalisiert (sie unterstützt jetzt mehrere Sprachen), dann ins Spanische lokalisiert."
2. Regionale Varianten ignorieren
Behandeln Sie "Spanisch" nicht als eine Sache. Es ist:
es-ES(Spanien)es-MX(Mexiko)es-AR(Argentinien)
3. Wörtlich übersetzen
Schlechte Lokalisierung: Englisch: "Don't put all your eggs in one basket" Deutsch (wörtlich): "Lege nicht alle Eier in einen Korb" (klingt seltsam) Deutsch (lokalisiert): "Setze nicht alles auf eine Karte" (korrektes Idiom)
Best Practices
1. Namespaces für Übersetzungen
JSON1{ 2 "buttons": { 3 "save": "Speichern", 4 "cancel": "Abbrechen" 5 }, 6 "forms": { 7 "email_label": "E-Mail", 8 "password_label": "Passwort" 9 } 10}
2. Locale-spezifische Routen verwenden
/en/pricing (Englisch)
/de/preise (Deutsch - übersetzte URL)
3. Übersetzungs-Workflows automatisieren
Terminal1# IntlPull Beispiel 2npx @intlpullhq/cli upload # Neue englische Strings hochladen 3# Übersetzer arbeiten in Web-UI 4npx @intlpullhq/cli download # Übersetzte Strings herunterladen
Zusammenfassung
| Phase | Wann |
|---|---|
| i18n | Tag 1 (oder existierende App vor Übersetzung refactorn) |
| L10n | Vor Launch in neuem Markt |
| G11n | Fortlaufend (bei Expansion in neue Märkte) |
Bereit global zu gehen?
IntlPull ausprobieren. Handhabt i18n-Strings, L10n-Workflows und G11n-Rollout mit OTA-Updates.
