Neues bei Globalisierung und Lokalisierung

In diesem Thema werden die Änderungen an den Klassen und Auflistungen im System.Globalization-Namespace von .NET Framework, Version 4 beschrieben. Das Thema enthält folgende Abschnitte:

  • Neue neutrale Kulturen

  • Neue spezifische Kulturen

  • Aktualisierte Globalisierungseigenschaftswerte

  • Abrufen von aktuellen Globalisierungsinformationen

  • Zeichenfolgenbehandlung

  • Reduzierte Verwendung von Gebietsschemabezeichnern

  • Eigenschaften von neutralen Kulturen

  • Änderungen an benutzerdefinierten Kulturen

  • Funktionen, die sich nicht geändert haben

Neue neutrale Kulturen

.NET Framework 4 unterstützt mindestens 354 Kulturen im Vergleich zu mindestens 203 Kulturen in .NET Framework 3.5. Viele der neuen Kulturen sind neutrale Kulturen, die hinzugefügt wurden, um die übergeordnete Kette für die neutrale Stammkultur zu vervollständigen. Den bereits vorhandenen Kulturen Inuktitut (Silbenschrift, Kanada) und Inuktitut (Latein, Kanada) wurden drei neutrale Inuktitut-Elemente hinzugefügt (siehe folgende Tabelle):

Kulturanzeigename

Kulturname

LCID

Inuktitut

Iu

0x005d

Inuktitut (Silbenschrift)

iu-Cans

0x785D

Inuktitut (Silbenschrift, Kanada)

iu-Cans-CA

0x045D

Inuktitut (Latein)

iu-Latn

0x7C5D

Inuktitut (Lateinisch, Kanada)

iu-Latn-CA

0x085D

Neue spezifische Kulturen

In .NET Framework 4 werden auch neue spezifische Kulturen vorgestellt, z. B. die neuen serbischen Kulturen. Die alten serbischen Kulturen wurden in Serbisch (Kyrillisch, Serbien und Montenegro (Früher)) und Serbisch (Latein, Serbien und Montenegro, (Früher)) umbenannt, um Anzeigenamenkonflikte zu vermeiden. Diese Kulturen bleiben in .NET Framework mit ihren vorhandenen Informationen bestehen, einschließlich ihrer Kulturnamen und Kulturbezeichner.

Kulturanzeigename

Kulturname

LCID

Serbisch – Serbien (Latein)

sr-Latn-RS

0x241A

Serbisch – Serbien (Kyrillisch)

sr-Cyrl-RS

0x281A

Serbisch – Montenegro (Latein)

sr-Latn-ME

0x2C1A

Serbisch – Montenegro (Kyrillisch)

sr-Cyrl-ME

0x301A

Die Anzeigenamen chinesischer Kulturen haben sich geändert und folgen der Namenskonvention Sprache ([Skript,] Land-/RegionName). In .NET Framework 4 wurden zh-CHS und zh-CHT-Anzeigenamen durch das Wort "Vorversion" ergänzt, um sie von zh-Hans und zh-Hant zu unterscheiden. Für zh, das vor kurzem in Windows eingeführt wurde, wird "Chinesisch" als Anzeigename verwendet.

Angezeigter Name

Kulturname

LCID

Chinesisch

zh

0x7804

Chinesisch (vereinfacht) Vorversion

zh-CHS

0x0004

Chinesisch (traditionell) Vorversion

zh-CHT

0x7C04

Chinesisch (vereinfacht)

zh-Hans

0x0004

Chinesisch (traditionell)

zh-Hant

0x7C04

Chinesisch (vereinfacht, PRC)

zh-CN

0x0804

Chinesisch (traditionell, Hongkong SAR)

zh-HK

0x0C04

Chinesisch (traditionell, Macao SAR)

zh-MO

0x1404

Chinesisch (vereinfacht, Singapur)

zh-SG

0x1004

Chinesisch (traditionell, Taiwan)

zh-TW

0x0404

Die übergeordnete Kette der chinesischen Kulturen schließt nun die chinesische Stammkultur ein. Die folgenden Beispiele veranschaulichen die vollständige übergeordnete Kette für zwei der spezifischen chinesischen Kulturen:

  • zh-CN → zh-CHS → zh-Hans → zh → Invariant

  • zh-TW → zh-CHT → zh-Hant → zh → Invariant

Die Anzeigenamen für Tibetisch (VR China), Französisch (Monaco), Tamazight (Lateinisch, Algerien) und Spanisch (Spanien, Internationale Sortierung) Anzeigenamen wurden ebenfalls aktualisiert. Wenn der Anzeigename geändert wird, spiegeln normalerweise die englischen und systemeigenen Namen diese Änderung wider; die ISO- und abgekürzten Namen von Skript, Sprache und Land können sich jedoch ebenfalls ändern.

Aktualisierte Globalisierungseigenschaftswerte

In .NET Framework 4 wurden auch die Werte von Globalisierungseigenschaften aktualisiert, wie Währung, Datums- und Uhrzeitformate, Tag und Monatsnamen, AM-Bezeichner und PM-Bezeichner sowie einige Zahlenformatierungseigenschaften. Die folgende Tabelle enthält Beispiele für geänderte Währungsnamen in der System.Globalization.RegionInfo-Klasse.

Kulturname

Währungsname von Version 3.5

Währungsname von Version 4

mt-MT

Maltesische Lira

Euro

sk-SK

Slowakische Krone

Euro

sl-SI

Slowenischer Tolar

Euro

tr-TR

Neue türkische Lira

Türkische Lira

Die folgende Tabelle enthält ein Beispiel für Änderungen am kurzen Datumsmuster in der System.Globalization.DateTimeFormatInfo-Klasse.

Kulturname

Version 3.5 – Kurzes Datumsmuster

Version 4 – Kurzes Datumsmuster

ar-SA

tt/mm/jj

tt/mm/jjjj

prs-AF

tt/mm/jj

jjjj/m/t

ps-AF

tt/mm/jj

jjjj/m/t

pt-BR

t/m/jjjj

tt/mm/jjjj

Einige Kalenderdaten wurden geändert, z. B. Tag- und Monatsnamen für zahlreiche Gebietsschemas (z. B. die DateTimeFormatInfo.ShortestDayNames-Eigenschaft für das arabische Gebietsschema). Einige der von rechts nach links geschriebenen Gebietsschemas (z. B. prs-AF, ps-AF und ug-CN) hatten falsche Werte für die TextInfo.IsRightToLeft-Eigenschaft und wurden in dieser Version korrigiert.

Abrufen von aktuellen Globalisierungsinformationen

Eine der Hauptglobalisierungsfunktionen von .NET Framework 4 ist die Möglichkeit, die aktuellsten Informationen bereitzustellen, wo diese verfügbar sind. Die ältesten Globalisierungsinformationen, die in dieser Version verfügbar sind, sind die zur Auslieferungszeit verfügbaren Daten (nur, wenn ältere Windows-Versionen als Windows 7 verwendet werden). Wenn Sie Windows 7 und höhere Versionen verwenden, werden die Globalisierungsinformationen direkt vom Betriebssystem abgerufen, d. h., dass Kunden die aktuellen Globalisierungsinformationen beim Upgrade auf eine neue Windows-Version erhalten. Kunden, die Windows 7 und höhere Versionen verwenden, erhalten eine einheitliche Globalisierungsoberfläche für sowohl systemeigene (Win32) als auch verwaltete Anwendungen (.NET).

Wegen der sich ständig ändernden Welt unterliegen Globalisierungsinformationen ständigen Änderungen; Entwickler dürfen nicht davon ausgehen, dass die Werte von Globalisierungseigenschaften zwischen verschiedenen Versionen oder sogar für die gleiche Version von .NET Framework bestehen bleiben. Dies ist kein völlig neues Verhalten für die .NET Framework-Benutzer. Die Eigenschaften der Nur-Windows-Kulturen, die unterstützt wurden, da .NET Framework 2 beim Ausführen unter anderen Versionen von Windows unterschiedliche Werte haben kann.

Der Kulturname ist die stabilste Eigenschaft der Kulturinformationen und soll voraussichtlich auch in künftigen Versionen stabil bleiben. Andere Eigenschaften wie der Kulturanzeigename können sich jederzeit ändern, deshalb sollten Anwendungen nicht von der Schreibweise des Anzeigenamens oder anderer Text- oder numerischer Daten abhängen.

Der Mechanismus für den Abruf von Globalisierungsinformationen hat sich in .NET Framework 4 geändert. Wenn die Anwendung unter Windows 7 oder höheren Versionen ausgeführt wird, ruft sie Globalisierungsinformationen direkt aus dem Betriebssystem ab. Wenn die Anwendung unter einer früheren Version von Windows (z. B. Windows Vista, Windows XP, Windows Server 2003 oder Windows Server 2008) ausgeführt wird, ruft sie Globalisierungsinformationen aus einem internen Datenspeicher ab, um sicherzustellen, dass die Daten aktuell sind.

Bei diesem neuen Modell für den Abruf von Globalisierungsinformationen ändern sich die Definitionen einiger CultureTypes-Objekte, da die Globalisierungsinformationen abhängig vom Hostbetriebssystem von anderen Speicherorten abgerufen werden. Die CultureTypes-Member WindowsOnlyCultures und FrameworkCultures sind jetzt veraltet. Wenn Sie versuchen, diese Member zu verwenden, generiert der Compiler auch bei erfolgreicher Kompilierung eine Warnung. Mit WindowsOnlyCultures werden keine Kulturen und mit FrameworkCultures werden alle Kulturen zurückgegeben. Andere CultureTypes-Member verfügen über die gleichen Definitionen wie zuvor.

Zeichenfolgenbehandlung

Viele .NET Framework-Klassen, einschließlich CharUnicodeInfo, CompareInfo, StringInfo, TextInfo und TextElementEnumerator im System.Globalization-Namespace, implementieren Sortierung, Groß-/Kleinschreibung und Normalisierungsregeln und rufen Unicode-Zeicheninformationen ab. Im .NET Framework 4 sind diese Funktionen mit Windows 7 synchronisiert. Dadurch werden umfangreichere linguistische Sortier- und Groß-/Kleinschreibungsfunktionen für die CJK-Sprachen (Chinesisch, Japanisch und Koreanisch) bereitstellt. Zudem werden viele Probleme behoben, die von Kunden gemeldet wurden. Die wichtigste Änderung besteht in der Kompatibilität mit dem Unicode 5.1-Standard, wobei die Unterstützung für ungefähr 1400 Zeichen hinzufügt wurde, einschließlich neuer Symbole, Pfeile, diakritischer Zeichen, Interpunktion, mathematischer Symbole, CJK-Zeichen, Ideogramme und numerische Malayalam- und Telugu-Zeichen. Außerdem wurden durch Unicode 5.1 Sortierung und Groß-/Kleinschreibung für Zeichen innerhalb der folgenden vorhandenen Skripts verbessert: Latein, Myanmar, Arabisch, Griechisch, Mongolisch, Kyrillisch, Gurmukhi, Oriya, Tamil, Telugu und Malayalam. Zudem werden nun auch die folgenden neuen Skripts unterstützt: Sundanesisch, Lepcha, Ol Chiki, Vai, Saurashtra, Kayah Li, Rejang und Cham.

Viele Szenarien, wie z. B. Datenbankindizierung, erfordern ein einheitliches Verhalten bei der Zeichenfolgenbehandlung in verschiedenen Versionen von Windows. .NET Framework 4 garantiert ein einheitliches Verhalten der Zeichenfolgenbehandlungsvorgänge unabhängig von der Windows-Hostversion.

Vorhandene Anwendungen, mit denen Datenbasisindizes erstellt oder Sortierschlüssel gespeichert werden, können vom Sortier- und Groß-/Kleinschreibungsverhalten in .NET Framework 2.0 oder 3.5 abhängen. Zur Unterstützung dieser Anwendungen ermöglicht es .NET Framework 4 Entwicklern, das Sortier- und Groß-/Kleinschreibungsverhalten der Vorversion anzuwenden. Dazu wird das <CompatSortNLSVersion>-Element in die Konfigurationsdatei der Anwendung eingeschlossen. Die Regeln zur Sortierung und Groß-/Kleinschreibung der Vorversion können auch auf Anwendungsdomänenbasis angewendet werden, indem beim Konfigurieren der Anwendungsdomäne die AppDomainSetup.SetCompatibilitySwitches-Methode mit dem "NetFx40_LegacySecurityPolicy"-Schalter aufgerufen wird. Beachten Sie, dass ein erfolgreiches Wiederherstellen des Vorversionsverhaltens vom Vorhandensein der Dynamic Link Library "sort00001000.dll" auf dem lokalen System abhängt.

.NET Framework 4 stellt für einige Kulturen mehrere Sortieroptionen bereit. Für die deutsche Kultur (Deutschland) wird z. B. die Wörterbuchsortierreihenfolge als Standardverhalten verwendet, jedoch wird die Telefonbuchsortierung als alternative Sortierreihenfolge unterstützt. Als anderes Beispiel unterstützt die chinesische Kultur (vereinfacht, VR China) Sortiervorgänge nach Aussprache als Standardverhalten und Sortiervorgänge nach Strichanzahl als alternative Sortierreihenfolge. Um die alternative Sortierreihenfolge anzugeben, können Sie ein CultureInfo-Objekt mit der LCID oder dem Namen der alternativen Sortierreihenfolge erstellen. Drei alternative Sortierreihenfolgen wurden aus .NET Framework 4 entfernt, da sie in Windows veraltet waren. Bei dem Versuch, ein CultureInfo-Objekt mit der LCID dieser veralteten alternativen Sortierreihenfolgen zu erstellen, wird eine CultureNotFoundException-Ausnahme ausgelöst. Die alternativen Sortierreihenfolgen, die von .NET Framework unterstützt werden, sind in der folgenden Tabelle aufgeführt.

Kulturname

Sprache – Land/Region

Standardsortierreihenfolge und LCID

Alternative Sortierreihenfolge und LCID

zh-HK

Chinesisch – Hongkong SAR

Standard: 0x00000c04

zh-HK_stroke: 0x00020c04

ja-JP

Japanisch – Japan

Standard: 0x00000411

ja-JP_unicod: 0x00010411

ko-KR

Koreanisch – Korea

Standard: 0x00000412

ko-KR_unicod: 0x00010412

Reduzierte Verwendung von Gebietsschemabezeichnern

In .NET Framework 4 werden von der ToString-Methode und der ToString-Methode Kulturnamen ohne LCIDs für alle Kulturen verwendet. .NET Framework 4 gibt z. B. "en-US CompareInfo - en-US" zurück, anstelle von "en-US CompareInfo – 1033" (dem Rückgabewert in früheren Versionen von .NET Framework).

Eigenschaften von neutralen Kulturen

In vorherigen Versionen von .NET Framework wurde eine Ausnahme ausgelöst, wenn von Anwendungen versucht wurde, auf einige der neutralen Kultureigenschaften (wie DateTimeFormatInfo.FirstDayOfWeek) zuzugreifen. In .NET Framework 4 geben die neutralen Kultureigenschaften Werte zurück, mit denen die spezifische Kultur widergespiegelt wird, die für diese neutrale Kultur die dominante Rolle übernimmt. Zum Beispiel ruft das französische neutrale Gebietsschema die Werte der Eigenschaften von Französisch (Frankreich) ab. Die FirstDayOfWeek-Eigenschaft gibt DayOfWeek.Monday zurück, womit der Wert dieser Eigenschaft in der französischen (Frankreich) Kultur widerspiegelt wird.

Einige Eigenschaften (z. B. Sprachenname) verfügen jedoch über Werte, die sich in der dominanten Kultur unterscheiden. Der Sprachenname der neutralen norwegischen Kultur ist z. B. Norwegisch, während der Sprachenname der spezifischen Kultur von Norwegisch, Bokmål (Norwegen) Norwegisch (Bokmål) ist.

In .NET Framework 4 geben einige Eigenschaften und Methoden von neutralen Kulturen Werte zurück, die spezifische Kulturen anstatt neutrale Kulturen widerspiegeln. Die KeyboardLayoutId-Eigenschaft und die GetConsoleFallbackUICulture-Methode in der CultureInfo-Klasse sind zwei Beispiele für diese Änderung:

  • Änderungen des KeyboardLayoutId-Werts:

    Kulturname

    Version 3.5

    Version 4

    ar

    1

    1025

    es

    10

    1034

    fr

    12

    1036

    zh-CHS

    4

    2052

  • Änderungen des GetConsoleFallbackUICulture-Werts:

    Kulturname

    Version 3.5

    Version 4

    af

    af

    af-ZA

    de

    de

    de-DE

    en

    en

    en-US

    ja

    ja

    ja-JP

Änderungen an benutzerdefinierten Kulturen

Die von .NET Framework, Version 2.0, erstellten neutralen Ersatzkulturen werden in .NET Framework 4 nicht geladen.

Beim Registrieren einer Ersatzkultur mithilfe der CultureAndRegionInfoBuilder-Klasse sind die überschriebenen Informationen aus der benutzerdefinierten Kultur nicht umgehend für den Prozess verfügbar, mit dem die benutzerdefinierte Kultur erstellt wurde. Allerdings können in Prozessen, die nach Registrierung der benutzerdefinierten Kultur gestartet wurden, die überschriebenen Informationen gelesen werden.

Funktionen, die sich nicht geändert haben

Textinformationen, Codierung, Kalenderfunktionalität und IDN-Funktionen (Internationalized Domain Name) haben sich in .NET Framework 4 nicht geändert. Diese Bereiche funktionieren wie zuvor.

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Mai 2010

Anmerkung, dass das Wiederherstellen von Sortierung und Vergleich der Vorversion von "sort00001000.dll" abhängt.

Korrektur inhaltlicher Fehler.