Titel
Untertitel
Titel
Absatz 1
Absatz 2
Absatz 3
Titel
Absatz 1
Absatz 2
Absatz 3
Titel
Untertitel
Ländercodes (BCP 47)
BCP-47-Tags wie „en-US“ oder „zh-Hans-CN“ geben Sprache, Schrift und Region an. Sie bilden die Grundlage jedes i18n-Systems und legen fest, welche Übersetzungen, Formate und Regeln zur Anwendung kommen.
Unicode & UTF-8
Unicode weist jedem Zeichen in jeder Schrift einen eindeutigen Codepunkt zu. UTF-8 ist die im Internet vorherrschende Kodierung und gewährleistet, dass Text unabhängig von der Sprache korrekt dargestellt wird.
Übersetzungsschlüssel
Übersetzungsschlüssel sind stabile Bezeichner, die lokalisierungsspezifischen Zeichenfolgen zugeordnet sind. Sie entkoppeln Ihren Quellcode von den übersetzbaren Inhalten und ermöglichen so eine parallele Entwicklung und Übersetzung.
Pluralbildung (Intensivstation)
Sprachen haben unterschiedliche Regeln für den Plural – im Englischen gibt es zwei Formen, im Arabischen sechs. ICU MessageFormat verarbeitet Pluralformen, Geschlechter und bestimmte Ausdrücke in einer einzigen Syntax.
RTL-Support
Arabisch, Hebräisch und andere Schriften werden von rechts nach links gelesen. Die RTL-Unterstützung erfordert gespiegelte Layouts, das Drehen von Symbolen und die Verwendung logischer CSS-Eigenschaften anstelle von „left“ und „right“.
Datum / Nummer / Währung
Datumsangaben, Zahlen und Währungen variieren je nach Ländereinstellung. Die Intl-API und Bibliotheken wie „date-fns“ bieten eine an die Ländereinstellung angepasste Formatierung, sodass 1.000,50 im Deutschen als 1.000,50 dargestellt wird.
Titel
Untertitel
JSON
Am beliebtesten für Webanwendungen (React, Vue, Angular). Für Menschen lesbar, unterstützt Verschachtelungen für übersichtliche Schlüsselstrukturen. Es gibt keinen integrierten Standard für die Pluralbildung, daher füllen Bibliotheken wie ICU MessageFormat diese Lücke.
XLIFF
XML-basierter Industriestandard für den Austausch von Übersetzungen zwischen Tools. Wird von allen professionellen TMS-Plattformen unterstützt. Umfangreich und funktionsreich, mit integrierter Unterstützung für Notizen, Statusverfolgung und Metadaten.
PO/POT (Gettext)
Ein klassisches Open-Source-Format, das in den Ökosystemen von Python, PHP und Ruby verwendet wird. Integrierte Unterstützung für Pluralformen mit einer speziellen Syntax für Pluralformen. Wird von Übersetzern und Übersetzungstools weitgehend unterstützt.
ARB
Das „Application Resource Bundle“ ist das Standardformat für Flutter und Dart. Es basiert auf JSON und unterstützt die ICU-Nachrichtensyntax, wodurch Pluralformen und Auswahlmöglichkeiten nativ möglich sind. Es wird von den gen-l10n-Tools von Flutter verwendet.
.strings / .stringsdict
Native Formate der Apple-Plattform für die Entwicklung unter iOS und macOS. .strings verarbeitet einfache Schlüssel-Wert-Paare, während .stringsdict die XML-Plist-Struktur für Pluralisierungsregeln verwendet.
.resx
Das .NET-Ressourcendateiformat für C#- und VB.NET-Anwendungen. Es basiert auf XML und ist eng in die Visual Studio-Tools integriert. Es unterstützt typisierte Ressourcen für Zeichenfolgen, Bilder und andere Assets.
Titel
Untertitel
Überprüfen Sie Ihren Code
Ermitteln Sie alle fest codierten Zeichenfolgen, Datumsformate und lokalisierungsabhängigen Muster. Ermitteln Sie, welche Komponenten und Seiten benutzersichtbaren Text enthalten, der extrahiert werden muss.
Zeichenfolgen externisieren
Verschieben Sie alle benutzersichtbaren Texte in strukturierte Ressourcendateien (JSON, XLIFF oder PO). Ersetzen Sie Inline-Zeichenfolgen durch Aufrufe von Übersetzungsfunktionen, die auf Schlüssel verweisen.
Wählen Sie Ihre Werkzeuge aus
Wählen Sie eine i18n-Bibliothek für Ihr Framework sowie ein Übersetzungsmanagementsystem (TMS) für die Zusammenarbeit aus und entscheiden Sie sich für einen Übersetzungsworkflow, der von Menschen, KI oder einer Kombination aus beidem durchgeführt wird.
Integrieren & Versenden
Integrieren Sie Ihre i18n-Bibliothek in das Routing und Rendering, verbinden Sie Ihr TMS mit CI/CD für die automatische Synchronisierung und stellen Sie Sprachpakete über ein CDN bereit, um eine schnelle Bereitstellung zu gewährleisten.
Titel
Untertitel
Integration für Entwickler
Prüfen Sie CLI-Tools, SDK-Unterstützung, Git-basierte Arbeitsabläufe und CI/CD-Hooks. Die besten TMS-Plattformen lassen sich direkt in Ihre Entwicklungspipeline integrieren, sodass Übersetzungen automatisch mit Codeänderungen synchronisiert werden.
Übersetzungsspeicher
Ein Übersetzungsspeicher speichert bereits freigegebene Übersetzungen und schlägt diese für ähnliche oder identische Textstellen vor. Dies senkt die Übersetzungskosten, beschleunigt die Bearbeitungszeit und gewährleistet die Konsistenz Ihres gesamten Produkts.
Funktionen für die Zusammenarbeit
Achten Sie auf Workflows für Korrekturleser, Inline-Kommentare, gemeinsame Glossare und Freigabeprozesse. Diese Funktionen ermöglichen es Übersetzern, Korrekturlesern und Entwicklern, ohne Engpässe oder Missverständnisse zusammenzuarbeiten.
KI und Automatisierung
Moderne TMS-Plattformen bieten Vorschläge für maschinelle Übersetzungen, automatisierte Qualitätsprüfungen, Stapelverarbeitung und intelligentes Routing. KI-gestützte Arbeitsabläufe reduzieren den manuellen Aufwand, ohne dass die Übersetzungsqualität darunter leidet.
Titel
Untertitel
React
Muster für react-intl, react-i18next und FormatJS
Next.js
App-Router, Middleware und Serverkomponente – Lokalisierung
Vue
Die Composition-API von Vue-i18n und die Integration von SFC
Angular
Integrierte i18n-, ngx-translate- und Transloco-Unterstützung
Svelte
svelte-i18n, SvelteKit-Routing und Stores
Flutter
intl-Paket, ARB-Dateien und gen-l10n-Tools
React Native
i18next, Expo-Lokalisierung und native Module
Nuxt
Das @nuxtjs/i18n-Modul mit automatischer Weiterleitung
Titel
Untertitel
Zeichenfolgenverkettung
Das Bilden von Sätzen durch Aneinanderreihen von Satzteilen funktioniert in Sprachen mit unterschiedlicher Wortstellung nicht. Verwenden Sie stattdessen ICU MessageFormat mit Platzhaltern.
Fest codierte Zeichenfolgen
Wenn benutzerseitige Texte direkt in den Quellcode eingebettet werden, ist eine Übersetzung ohne Codeänderungen nicht möglich. Externalisieren Sie alle Zeichenfolgen von Anfang an.
Pluralformen ignorieren
Eine einfache if/else-Anweisung für Singular und Plural funktioniert nur im Englischen. Viele Sprachen verfügen über mehrere Pluralformen, die eine korrekte Anwendung der ICU-Pluralregeln erfordern.
Übersetzung im Nachhinein
Eine nachträgliche Integration der Internationalisierung nach dem Start ist mit kostspieligen Umgestaltungen verbunden. Eine von Anfang an auf Internationalisierung ausgerichtete Konzeption spart Zeit und beugt architektonischen Schulden vor.
Titel
Untertitel
- Alle benutzersichtbaren Zeichenfolgen wurden in Ressourcendateien ausgelagert
- Erkennung der Ländereinstellung implementiert (Browser, URL, Benutzereinstellungen)
- Die Pluralbildung erfolgt für alle Zielsprachen mithilfe von ICU MessageFormat
- Für die Formatierung von Datum, Uhrzeit, Zahlen und Währungen wird die Intl-API oder eine gleichwertige Schnittstelle verwendet
- Unterstützung für RTL-Layout mit logischen CSS-Eigenschaften getestet
- Für fehlende Übersetzungen konfigurierte Ausweichsprache
- Übersetzungsschlüssel folgen einer einheitlichen Namenskonvention
- Die CI-Pipeline stellt sicher, dass keine Übersetzungsschlüssel fehlen oder ungenutzt sind
Titel
Untertitel
- Pseudo
- Visuell
- Automatisiert
- Sprachwissenschaftlich
- Erweiterung
Titel
Untertitel
Was ist der Unterschied zwischen i18n und L10n?
Internationalisierung (i18n) ist der technische Prozess der Softwareentwicklung, bei dem Software so gestaltet wird, dass sie mehrere Sprachen und Regionen unterstützt. Lokalisierung (L10n) ist der inhaltliche Prozess der Anpassung dieser Software an eine bestimmte Sprach- und Länderkonfiguration, einschließlich der Übersetzung von Texten, der Anpassung von Formaten und der Gewährleistung kultureller Angemessenheit. i18n erfolgt einmalig in Ihrem Quellcode; L10n erfolgt für jede von Ihnen unterstützte Sprach- und Länderkonfiguration.
Welche i18n-Bibliothek sollte ich verwenden?
Die beste Bibliothek hängt von Ihrem Framework ab. Für React sind react-intl (FormatJS) und react-i18next am weitesten verbreitet. Vue-Entwickler verwenden in der Regel vue-i18n. Angular bietet neben Community-Optionen wie Transloco eine integrierte i18n-Unterstützung. Svelte-Projekte nutzen svelte-i18n. Bewerten Sie jede Option anhand der Bundle-Größe, der ICU-Unterstützung und der Kompatibilität mit Ihrem Rendering-Modell.
In wie vielen Sprachen sollte ich den Dienst starten?
Beginnen Sie mit zwei bis drei Sprachen mit hoher Relevanz, basierend auf Ihren vorhandenen Nutzerdaten oder Ihrer Zielmarktforschung. So können Sie Ihre i18n-Architektur, Ihren Übersetzungs-Workflow und Ihren Qualitätssicherungsprozess in überschaubarem Umfang validieren. Erweitern Sie das Angebot um weitere Sprachen, sobald Sie über eine zuverlässige Pipeline verfügen, und nutzen Sie dabei Analysen, um zu entscheiden, welche Sprachversionen als Nächstes hinzugefügt werden sollen.
Kann ich für meine App maschinelle Übersetzung verwenden?
Ein hybrider Ansatz hat sich bewährt: Setzen Sie maschinelle Übersetzung für erste Entwürfe und Inhalte mit hohem Volumen und geringer kritischer Bedeutung ein und lassen Sie anschließend qualitätskritische Texte wie Marketingtexte, Fehlermeldungen und juristische Texte von menschlichen Korrektoren überarbeiten. Die moderne neuronale maschinelle Übersetzung hat sich zwar erheblich verbessert, doch die Überprüfung durch Menschen bleibt für Nuancen, den Markenton und kulturelle Genauigkeit unverzichtbar.
Was ist Pseudolokalisierung?
Die Pseudolokalisierung ist eine Testmethode, bei der Text durch Zeichen mit Akzenten oder erweiterte Zeichen ersetzt wird (z. B. wird aus „Hello“ „[~Hellllo~]“), ohne dass sich die Bedeutung ändert. Sie hilft Entwicklern dabei, fest codierte Zeichenfolgen, Textverkürzungen und Layoutprobleme zu erkennen, bevor echte Übersetzungen vorliegen. Die meisten i18n-Bibliotheken und TMS-Tools unterstützen die automatische Generierung pseudolokalisierter Ausgaben.
Wie gehe ich bei der Lokalisierung dynamischer Inhalte vor?
Verwenden Sie für die Interpolation ICU-MessageFormat-Platzhalter (z. B. „Hallo, {name}“), anstatt Zeichenfolgen zu verketten. Verwenden Sie für Pluralformen die ICU-Plural-Syntax, die sich an die Regeln der jeweiligen Sprache anpasst. Vermeiden Sie es, Sätze aus Fragmenten zusammenzusetzen, da die Wortstellung von Sprache zu Sprache variiert. Verwenden Sie für Rich Text getaggte Platzhalter, die es Übersetzern ermöglichen, HTML-Elemente neu anzuordnen, ohne das Markup zu beschädigen.