Ich habe Jon Skeets Vortrag bei den letzten StackOverflow Dev Days gehört und er hat meine Neugier auf die Internationalisierung geweckt.
Angenommen, ich habe ein Programm zur Waffelherstellung, das entweder vollständig ist oder noch läuft, und ich möchte es an andere Länder verteilen. Worüber muss ich mir im Hinblick auf die Internationalisierung Sorgen machen? Was sind einige nicht offensichtliche, aber einfache Fallstricke?
Antworten:
Das offensichtlichste, was mir in den Sinn kommt, ist, dass Ihre Etiketten höchstwahrscheinlich eine andere Länge haben als die englische Version. Dies könnte Ihr Layout zerstören.
Sie könnten entweder mehrere Hektar Leerraum oder Etiketten haben, die überfüllt sind und sogar den verfügbaren Platz überfüllen.
Sie müssen Ihr Layout flexibel gestalten und unabhängig von der Größe des Inhalts fließen lassen. Ein Layout, das mit unterschiedlichen Bildschirmauflösungen umgehen kann, trägt wesentlich zur Lösung dieses Problems bei.
Das andere große Problem ist die Unterstützung der Sprache von rechts nach links. Dies setzt wiederum voraus, dass Ihr Layout flexibel ist.
Es sind nicht nur die Menüs und Dialoge, die übersetzt werden müssen. Es enthält auch die gesamte Supportdokumentation, Hilfedateien, QuickInfos und Untertitel von Fenstertiteln. Es gibt normalerweise viel mehr Text, als Sie in einer Anwendung erkennen, und es gibt immer ein paar Zeichenfolgen, die direkt und nicht als Ressourcen hinzugefügt wurden.
quelle
Zeitzonen und Datumsformatierung! Stellen Sie beim Umgang mit Anwendungen, bei denen Datum und Uhrzeit über Zeitzonen hinweg geplant sind, sicher, dass Sie die Dinge richtig machen.
Behalten Sie ALLE Datums- und Zeitwerte als Zeitstempel bei, da sie einen einzelnen Zeitpunkt darstellen. Verfolgen Sie weitere Zeitzonen, da Sie die Zeitzoneninformationen benötigen, um den Zeitstempel im richtigen Format für den Benutzer korrekt anzuzeigen.
Ich arbeite gerade an einer Anwendung, bei der ein Benutzer in Japan ein Datum und eine Uhrzeit für einen Benutzer festlegen kann, der eine Clientanwendung in Idaho ausführt. Stellen Sie sicher, dass der Benutzer
3:00PM
weiß, wovon3:00PM
alle sprechen.quelle
Denken Sie daran, dass eine Person, die sich in einem bestimmten Land befindet, diese Sprache nicht kennt. Die Sprache und der Ort sind zwei verschiedene Themen.
quelle
Zahlen. In den meisten Ländern Europas und Südamerikas wird Komma (10,23) als Dezimaltrennzeichen verwendet, während in den übrigen Ländern (Großbritannien, USA usw.) der Zeitraum (10,23) verwendet wird.
quelle
Es ist nicht immer so einfach ... Es gibt viele Dinge zu beachten, abhängig von der Komplexität der Software, die Sie entwickeln, und wo Sie sie versenden werden. Tatsächlich könnte es fast überall enden, daher ist es wichtig, welche Gebietsschemas Sie offiziell unterstützen werden.
Glücklicherweise gibt es Bibliotheken in vielen Sprachen, die sich um einen Großteil der Arbeit kümmern. Wenn Sie dazu keine gute Bibliothek haben, möchten Sie wahrscheinlich Parameter für alle Ihre Gebietsschemas definieren und diese mithilfe von XML-Dateien oder anderen Arten von Konfigurationsdateien (oder in einer Datenbank, wenn Sie eine mit der Software ausliefern) detailliert definieren oder wenn es Ihnen nichts ausmacht, einen kleinen Footprint hinzuzufügen).
quelle
Dies hängt stark von der verwendeten Plattform ab. .NET unterstützt Ressourcendateien, die je nach Build des Kunden ein- und ausgeblendet werden können.
Andere Probleme, die auf Ihrer Plattform möglicherweise unterstützt werden oder nicht, umfassen die Möglichkeit, die Reihenfolge der Beschriftungen und Textfelder umzukehren (einige Kulturen bevorzugen, dass sich die Beschriftungen rechts befinden). Dieselben Kulturen möchten möglicherweise, dass alle Textblöcke von rechts nach links gelesen werden.
quelle
Vergessen Sie nicht die Werte in Nachschlagetabellen! Auftragsstatusnamen, Typbeschreibungen et al.
Wenn Sie Beschreibungen und Namen in Nachschlagetabellen haben, z. B. {OrderStatusId, OrderStatusName, OrderStatusDescription}, müssen diese ebenfalls übersetzt werden.
quelle
Holen Sie sich eine Kopie von ".NET Internationalization: Das Entwicklerhandbuch zum Erstellen globaler Windows- und Webanwendungen" von Smith-Ferrier .
Vor kurzem wurde mir die Aufgabe übertragen, das gesamte i18n-Problem mit unserer App-Suite gründlich zu durchdenken.
Dieses Buch brachte Themen heraus, an die ich nie gedacht hätte.
quelle
Berücksichtigen Sie außerdem die Datumsformate, die Rechtschreibung und die Steuerung der Bildschirmausrichtung. In Berichten, in denen Sprachen von rechts nach links gelesen werden, müssen Sie sich um die Einrückungsrichtung kümmern. Das Wochenende variiert je nach Land. Wenn Sie Kalender anzeigen, müssen Sie sicherstellen, dass die Wochenenden korrekt angezeigt werden. Wenn Sie MS-Windows nicht verwenden, überprüfen Sie die Funktionen des Client-Betriebssystems in Bezug auf die Behandlung von Sortiersequenzen zum Sortieren und die Funktionsweise des Betriebssystems. Fehlermeldungen müssen an Benutzer übersetzt werden, wenn der Modus nicht Englisch ist. Im Code. Für die Datenbankseite müssen Sie die richtigen Zeichencodes auswählen. Dies ist von Datenbank zu Datenbank unterschiedlich und kann sich auf Datumsvergleiche auswirken.
quelle