Ich wollte eine Frage zur Vorbereitung einer Desktop-Anwendung stellen, um mehrere Sprachen auf der Benutzeroberfläche zu unterstützen.
Bei meiner Suche nach vorhandenen Fragen zum Thema dachte ich an das Wort "International", also wählte ich das Internationalisierungs-Tag aus und las einige passende Fragen durch.
Irgendwann wurde mir klar, dass ich wahrscheinlich stattdessen unter Fragen mit dem Tag Lokalisierung suchen sollte. Es scheint jedoch, dass ich nicht allein bin, wenn es darum geht, diese beiden Begriffe zu verwechseln.
Was sind also die Hauptunterschiede zwischen Lokalisierung und Internationalisierung?
Ist eine klare Unterscheidung zwischen ihnen wirklich so wichtig?
Laut Apple :
quelle
Die Internationalisierung bereitet Ihren Antrag auf Lokalisierung vor. Zum Beispiel könnten Sie Zeichen gespeichert in Ihrer Datenbank in Unicode (kodieren
utf8mb4
stattlatin1
), Streicher Verschieben von Dateien auf Ressourcen, ermöglichen die Verwendung von Datum, Uhrzeit und Währungsformaten usw.Wenn Sie beispielsweise eine chinesische Version Ihrer App verkaufen möchten, lokalisieren Sie diese, indem Sie einen Übersetzer beauftragen, die zh-CN-Ressourcendateien zu erstellen und ein neues Format für Datum, Uhrzeit und Währung zu verwenden.
quelle
L10n kann manchmal anzeigen, wo Ihr i18n ausgefallen ist - zum Beispiel, wo Ihre Wörterbücher einen einzigen Eintrag für ein Wort haben, das als Substantiv verwendet wird, und ein Verb auf Englisch, das nicht in dasselbe Wort in einer anderen Sprache übersetzt wird, oder UI-Elemente / Design sind für eine Kultur ungeeignet (L / R-Orientierung).
L10n tritt also "im Allgemeinen" nach i18n auf, kann jedoch in Ihr i18n zurückgeführt werden und erfordert eine weitere Neugestaltung. Daher können Sie Ihre App erst nach einigen Lokalisierungen als vollständig internationalisiert betrachten.
quelle
Laut Wikipedia
Bei der Internationalisierung wird eine Softwareanwendung so entworfen, dass sie möglicherweise an verschiedene Sprachen und Regionen angepasst werden kann
without engineering changes
.Lokalisierung ist der Prozess
adapting internationalized software
für eine bestimmte Region oder Sprache, indem länderspezifische Komponenten hinzugefügt und Text übersetzt werden.Außerdem verwendet die Lokalisierung (die möglicherweise mehrmals für verschiedene Gebietsschemas durchgeführt wird) die
infrastructure or flexibility provided by internationalization
(die idealerweise nur einmal oder als integraler Bestandteil der laufenden Entwicklung durchgeführt wird).quelle
Globalisierung (G11n): ist der Prozess der Entwicklung und Vermarktung mehrsprachiger Softwareprodukte auf einem globalen Markt.
Die Entwicklung mehrsprachiger Software durchläuft derzeit zwei Phasen: Die erste Phase ist die Internationalisierung und die zweite Phase ist die Lokalisierung.
Internationalisierung (I18n): ist der Prozess der Verallgemeinerung eines Produkts, damit es mehrere Sprachen und kulturelle Konventionen verarbeiten kann, ohne dass eine Neugestaltung erforderlich ist (dh sprach- und kulturneutral).
Lokalisierung (L10n): ist der Prozess, bei dem ein Produkt genommen und sprachlich und kulturell an das Zielgebiet (Land / Region und Sprache) angepasst wird, in dem es verwendet und verkauft wird (dh sprach- und kulturspezifisch).
quelle
Viele Antworten, viele korrekte Informationen, aber meine Antwort ist ein bisschen eine andere Sichtweise.
Internationalisierung - Dies ist der Fall, wenn der Entwickler keine Code-Direktnachrichten / Fehlermeldungen / Schaltflächennamen / Beschriftungen / usw. in einer bestimmten Sprache hat, sondern einen Schlüssel, der an die Übersetzungsfunktion übergeben wird, und die Übersetzungsfunktion gemäß dem Gebietsschema des aktuellen Benutzers den endgültigen Text zurückgibt in englisch / frankreich / etc ... Die
Übersetzungsfunktion funktioniert mit Speicher (db / files / assoziatives Array / etc).
Der Speicher enthält Schlüssel, die in Coode verwendet werden, und Werte, dh Texte in einer bestimmten Sprache, die von der Anwendung unterstützt werden.
Lokalisierung - Hierbei werden neue Werte in einer neuen Sprache (z. B. Spanien) hinzugefügt, die für Schlüssel im Speicher geeignet sind, ohne dass der Entwickler in diesen Prozess einbezogen wird.
Zum Beispiel haben wir Speicher:
Internationalisierung, die im Code verwendet wird,
confirm(t(agree));
anstelle vonconfirm("I agree");
oderconfirm("Sono d'accordo");
Lokalisierung - es wird ein neues Gebietsschema zu unserem Speicher hinzugefügt, wie:
und hier benötigt der Entwickler keinen Update-Code, die Übersetzungsfunktion enthält die entsprechenden Texte korrekt.
quelle
Es ist sehr einfach, wenn Sie sich an die folgenden Definitionen halten:
i18n (Internationalisierung) ist das
l10n (Lokalisierung) ist die
quelle
Hier gibt es einige sehr gute Antworten, daher werde ich sie nicht recyceln. Irgendwann, typischerweise zwischen Internationalisierungstests und sprachlichen Lokalisierungstests, überschneiden sich Internationalisierung und Lokalisierung jedoch tendenziell. Eine Person erwähnt, dass l10n auf die Internationalisierung zurückgreift. Wenn Sie jedoch Qualitäts-i18n-Tests durchführen und pseudolokalisierte Inhalte erstellen, sollte die Wiederholung von Entwicklungsproblemen während der Lokalisierung die Ausnahme und nicht die Regel sein. Die Größenänderung der Benutzeroberfläche und insbesondere das Anpassen von Seiten zur Unterstützung bidirektionaler Sprachen wie Arabisch und Hebräisch verschmelzen häufig sowohl Lokalisierungsprobleme als auch Internationalisierungstechnik.
Es genügt zu sagen, dass bei der Internationalisierung Änderungen an der Quelle vorgenommen werden müssen, um jedes Gebietsschema basierend auf den Anforderungen zu unterstützen. Wenn die Internationalisierung gut gemacht ist ...
... Bei der Lokalisierung werden der Inhalt und einige Präsentationsebenen (z. B. ein fettgedrucktes Tag) so angepasst, dass die Anforderungen bestimmter Zielmärkte (Gebietsschemata) am besten berücksichtigt werden.
Viele Artikel und Whitepaper als Referenz hier: http://www.lingoport.com/software-internationalization-articles
quelle
Internationalisierung - i18n - Die Abstraktion einer Anwendung von einer bestimmten Sprache / Kultur.
Lokalisierung - l10n- Einfügen der konkreten Unterstützung für eine bestimmte Sprache / Kultur / Gebietsschema in das oben genannte i18n-Framework.
Wenn Sie zuerst i18n machen, machen Sie l10n viel weniger zu einer PITA.
Wenn Sie dagegen eine Anwendung zuerst in einem konkreten Gebietsschema erstellen und später versuchen, sie zu internationalisieren, handelt es sich um eine massive PITA. Es ist nicht einfach, nur eine konkrete englische Zeichenfolge auszutauschen und "Hello World" zu Resource.Global.HelloWorld zu sagen.
Unterschiedliche Sprachen haben unterschiedliche Platzanforderungen, Layouts, Hervorhebungen, Farben usw.
Sie benötigen das i18n-Framework von Grund auf, um diesen Wechsel zwischen Gebietsschemas für die oben genannten Unterschiede problemlos zu unterstützen, wenn Sie sogar glauben, dass Sie möglicherweise mehr als ein Gebietsschema unterstützen müssen.
Das spätere Nachrüsten in die Anwendung ist wirklich schwierig. Sie müssen eine ganze Reihe von architektonischen Überlegungen und Einschränkungen, die Sie (oder jemand anderes) beim ersten Mal getroffen haben, erneut prüfen.
quelle
Ich bin der Meinung, dass Lokalisierung ohne Internationalisierung gehen kann, aber .. Internationalisierung mit Lokalisierung sollte nicht durchgeführt werden ...
quelle
analog pov: Stellen Sie sich ein Regal in Ihrer Bibliothek vor, das nur ein Buch mit einer Größe von 4 x 4 Zoll aufnehmen kann. Die Internationalisierung würde das Regal mit allen Arten von Fächern bauen, die es ermöglichen, jede Buchgröße oder -form zu handhaben. Und die Lokalisierung würde alle Bücher in die richtigen Abschnitte setzen. Stellen Sie sich Ihre Datenbank, Geschäftslogik und Benutzeroberfläche als Regal und die verschiedenen Sprachen, Währungen und Textorientierungen als Bücher vor.
quelle
Lassen Sie uns zuerst das Gebietsschema verstehen
Gebietsschema - Eine Reihe von Parametern, die die Sprache, Region und spezielle Varianteneinstellungen des Benutzers definieren, die der Benutzer in seiner Benutzeroberfläche sehen möchte. Normalerweise besteht eine Gebietsschemakennung aus mindestens einer Sprachkennung und einer Regionskennung.
i18n - Entwerfen und Entwickeln von Software zur Unterstützung mehrerer Ländereinstellungen.
l10n - Dies ist nur möglich, wenn Ihre Software i18n unterstützt. L10n stellt jedoch sicher, dass Sprache, Datumsformat, Währungsformate usw. im Kontext für ein bestimmtes Gebietsschema angezeigt werden.
Beispielsweise,
# 1. Der 3. Juni 1977 wird als 3 de junio de 1977 ins Spanische übersetzt.
# 2. In einigen Ländern wird die Währung durch '.' Getrennt. vs ','
#3. Zeigen Sie das jeweilige Währungssymbol basierend auf dem Land des Gebietsschemas an
# 1, # 2 und # 3 sind Anwendungsfälle für die Lokalisierung.
Wenn die Software so konzipiert ist, dass sie # 1 ODER # 2 ODER # 3 basierend auf dem Gebietsschema des Benutzers unterstützt, ist das Produkt l10n aktiviert.
Wenn es mehrere Gebietsschemas unterstützt, ist i18n aktiviert.
quelle
Einfach,
Bei der Internationalisierung (I18N) kann Ihre Software an verschiedene Sprachen, Regionen und Kulturen angepasst werden.
Bei der Lokalisierung (L10N) wird Ihre Software in mehrere Sprachen übersetzt. Bevor Sie Ihre Software lokalisieren können, internationalisieren Sie sie.
quelle
Es gibt viele Definitionen von i18n und l10n. Die, die ich benutze, sind:
Internationalisierung (i18n) : sprachspezifische Anpassung Ihrer Bewerbung (Übersetzung)
Lokalisierung (l10n) : länderspezifische Anpassung Ihrer Anwendung (Geld, Zahlenformat, Datumsformat ...).
Zum Beispiel können wir dieselbe Sprache für eine in Frankreich und in der Schweiz verteilte Bewerbung haben (wir sprechen beide Französisch, zumindest in einigen Teilen der Schweiz), aber wir müssen noch einige Anpassungen vornehmen, um EUR in CHF umzuwandeln.
quelle