Co je nového v globalizaci a lokalizaci

Toto téma popisuje změny tříd a výčtů v oboru názvů System.Globalization v .NET Framework verze 4. Toto téma obsahuje následující části:

  • Nové neutrální jazykové verze

  • Nové zvláštní jazykové verze

  • Aktualizované hodnoty vlastností globalizace

  • Získání aktuálních informací globalizace

  • Zpracování řetězce

  • Omezené použití identifikátorů národního prostředí

  • Vlastnosti neutrální jazykových verzí

  • Změny vlastních jazykových verzí

  • Funkce, které nebyly změněny

Nové neutrální jazykové verze

Verze .NET Framework 4 podporuje minimálně 354 jazykových verzí ve srovnání s minimálně 203 jazykovými verzemi ve verzi .NET Framework 3.5. Mnoho nových jazykových verzí jsou neutrální jazykové verze které byly přidány k dokončení nadřazeného řetězce ke kořenové neutrální jazykové verzi. Například tři neutrální znaky inuktitutštiny byly přidány do již existujících jazykových verzí Inuktitutština (slabičné písmo, Kanada) a Inuktitutština (latinka, Kanada) podle následující tabulky:

Zobrazovaný název jazykové verze

Název jazykové verze

Identifikátor LCID

Inuktitutština

Iu

0x005d

Inuktitutština (slabičné písmo)

iu-Cans

0x785D

Inuktitutština (slabičné písmo, Kanada)

iu-Cans-CA

0x045D

Inuktitutština (latinka)

iu-Latn

0x7C5D

Inuktitutština (latinka, Kanada)

iu-Latn-CA

0x085D

Nové zvláštní jazykové verze

Verze .NET Framework 4 obsahuje také nové jazykové verze, například nové jazykové verze srbštiny. Staré jazykové verze srbštiny byly přejmenovány na srbštinu (cyrilice, Srbsko a Černá Hora (bývalé)) a srbštinu (latinka, Srbsko a Černá Hora (bývalé)), aby se předešlo kolizi při zobrazení názvu. Tyto jazykové verze zůstávají v.NET Framework se stávajícími informacemi, včetně názvů jazykové verze a identifikátorů jazykové verze.

Zobrazovaný název jazykové verze

Název jazykové verze

Identifikátor LCID

Srbština - Srbsko (latinka)

sr-Latn-RS

0x241A

Srbština - Srbsko (cyrilice)

sr-Cyrl-RS

0x281A

Srbština - Černá Hora (latinka)

sr-Latn-ME

0x2C1A

Srbština - Černá Hora (cyrilice)

sr-Cyrl-ME

0x301A

Zobrazované názvy čínských jazykových verzí se změnily, aby vyhovovaly konvenci pojmenování LanguageName ([Script,] Country/RegionName). V rozhraní .NET Framework 4 je k zobrazovaným názvům zh-CHS a zh-CHT připojeno slovo „Legacy“ k jejich odlišení od názvů zh-Hans a zh-Hant. zh, který byl nedávno zaveden do systému Windows, má jako zobrazovaný název hodnotu „Čínština“.

Zobrazované jméno

Název jazykové verze

Identifikátor LCID

Čínština

zh

0x7804

Čínština (zjednodušená) starší verze

zh-CHS

0x0004

Čínština (tradiční) starší verze

zh-CHT

0x7C04

Čínština (zjednodušená)

zh-Hans

0x0004

Čínština (tradiční)

zh-Hant

0x7C04

Čínština (zjednodušená, PRC)

zh-CN

0x0804

Čínština (tradiční, Hongkong - zvláštní správní oblast Čínské lidové republiky)

zh-HK

0x0C04

Čínština (tradiční, Macao - zvláštní správní oblast Čínské lidové republiky)

zh-MO

0x1404

Čínština (zjednodušená, Singapur)

zh-SG

0x1004

čínština (tradiční, Taiwan)

zh-TW

0x0404

Nadřazený řetězec čínských jazykových verzí nyní zahrnuje čínskou kořenovou jazykovou verzi. Následující příklady ukazují úplný nadřazený řetězec pro dvě jazykové verze čínštiny:

  • zh-CN → zh-CHS → zh-Hans → zh → Invariantní

  • zh-TW → zh-CHT → zh-Hant → zh → Invariantní

Zobrazovaná jména jako tibetština (PRC), francouzština (Monako), tamazightština (latinka, Alžírsko) a španělština (Španělsko, mezinárodní řazení) byla také aktualizována. Pokud se změní zobrazovaný název, tato změna se obvykle projeví v anglických a nativních názvech obvykle odrážejí tuto změnu; změny však mohou zahrnovat ISO a zkrácené názvy skriptu, jazyka a země.

Aktualizované hodnoty vlastností globalizace

Verze .NET Framework 4 také aktualizuje hodnoty vlastností globalizace, jako je například měna, formáty data a času, názvů dnů a měsíců, dopolední čas. a odp. označení a některé vlastnosti formátování číslic Následující tabulka obsahuje příklady změn názvů měny ve třídě System.Globalization.RegionInfo.

Název jazykové verze

Název měny verze 3.5

Název měny verze 4

mt-MT

Maltská lira

euro

sk-SK

Slovenská koruna

euro

sl-SI

Slovinský tolar

euro

tr-TR

Nová turecká lira

Turecká lira

Následující tabulka uvádí příklad změn krátkého vzoru data ve třídě System.Globalization.DateTimeFormatInfo.

Název jazykové verze

Vzorek krátkého formátu data verze 3.5

Vzorek krátkého formátu data verze 4

ar-SA

dd/MM/yy

dd/MM/yyyy

prs-AF

dd/MM/yy

rrrr/M/d

ps-AF

dd/MM/yy

rrrr/M/d

pt-BR

d/M/yyyy

dd/MM/yyyy

Některá data kalendáře byla změněna, jako například názvy dnů a měsíců u mnoha národních prostředí (například vlastnost DateTimeFormatInfo.ShortestDayNames pro arabská národní prostředí). Některá národní prostředí zprava doleva (například prs-AF, ps-AF a ug-CN) používala nesprávné hodnoty pro vlastnost TextInfo.IsRightToLeft a byla v této verzi opravena.

Získání aktuálních informací globalizace

Jednou z hlavních funkcí globalizace rozhraní .NET Framework 4 je schopnost poskytovat nejnovější informace, pokud jsou k dispozici. Nejstarší informace globalizace, které poskytne tato vydaná verze, jsou data k dispozici při době dopravy a pouze spuštěná v systému Windows starší než Windows 7. Při spuštění v systému Windows 7 a novější verzi, informace globalizace budou načteny přímo z operačního systému, což znamená, že zákazníci při inovaci systému Windows získají nové aktuální informace globalizace. Zákazníci používající systém Windows 7 a novější verze uvidí sjednocenou práci s globalizací jak pro nativní (Win32), tak spravované aplikace (.NET).

Z důvodu stále se měnícího světa jsou informace globalizace subjektem, který se může změnit kdykoli; vývojáři by něměli očekávat udržování hodnot vlastností globalizace mezi verzemi nebo i pro stejnou vydanou verzi rozhraní .NET Framework. Toto není zcela nové chování pro uživatele rozhraní .NET Framework. Vlastnosti pouze jazykových verzí systému Windows, které byly podporovány od rozhraní .NET Framework 2 by mohly mít různé hodnoty během běhu v různých verzích systému Windows

Název jazykové verze je nejstabilnější vlastností informace jazykové verze a má zůstat stabilní i v příštích verzích. Další vlastnosti, jako je například zobrazovaný název jazykové verze, se mohou kdykoli změnit, takže aplikace by neměla záviset na pravopisu zobrazovaného názvu nebo na jiném textovém nebo číselném údaji.

Mechanismus načítání informací globalizace se v rozhraní .NET Framework 4 .NET Framework 4 změnil. Pokud je vaše aplikace spuštěna v systému Windows 7 nebo novějším, načítá informace o globalizaci přímo z operačního systému. Pokud je vaše aplikace spuštěna v dřívější verzi systému Windows (například Windows Vista, Windows XP, Windows Server 2003 nebo Windows Server 2008), načítá informace o globalizaci z vnitřního úložiště dat, aby byla zajištěna aktuálnost údajů.

V novém modelu načítání informací globalizace se definice některých entit CultureTypes změní, protože informace globalizace budou načteny z různých umístění v závislosti na operačním systému hostitele. Členové CultureTypes WindowsOnlyCultures a FrameworkCultures jsou nyní zastaralí. Pokud se pokusíte použít tyto členy, kompilátor vygeneruje upozornění, přestože kompilace proběhne úspěšně. Použití WindowsOnlyCultures nevrátí žádné jazykové verze a FrameworkCultures vrátí všechny jazykové verze. Ostatní členové CultureTypes mají stejné definice jako předtím.

Zpracování řetězce

Mnoho tříd rozhraní .NET Framework, včetně CharUnicodeInfo, CompareInfo, StringInfo, TextInfo a TextElementEnumerator ve jmenném prostoru System.Globalization, řazení implementace, velikost písmen a pravidla normalizace a vyvolání informací o znacích Unicode. V rozhraní .NET Framework 4 jsou tyto vlastnosti synchronizovány se systémem Windows 7, který poskytuje bohatší možnosti jazykového řazení a porovnávání velikostí písem pro jazyky CJK (čínština, japonština a korejština) a který řeší mnoho otázek nahlášených zákazníky. Nejdůležitější změnou je kompatibilita se standardem Unicode 5.1, která přidává podporu pro přibližně 1400 znaků, včetně nových symbolů, šipek, znaků s diakritikou, interpunkce, matematických symbolů, znaků CJK, ideogramů a Malajálamských a Telugských číselných znaků. Navíc zlepšuje tabulka Unicode 5.1 řazení a práci s velikostí znaků v rámci následujících existujících skriptů: latinka, barmský, arabský, řecký, mongolský, cyrilice, gurmukhí, uríský, tamilský, telugský a malajálamský. Také přidává podporu pro následující nové skripty: sundánština, Lepcha, Ol Chiki, Vai, Saurashtra, Kayah Li, Rejang a Cham.

Existuje mnoho scénářů, jako je například indexování databáze vyžadující konzistentní chování ve zpracování řetězce napříč různými verzemi systému Windows. Rozhraní .NET Framework 4 zaručuje konzistentní chování operací zpracování řetězce bez ohledu na hostitelskou verzi systému Windows.

Stávající aplikace vytvářející databázové indexy nebo ukládající klíče řazení mohou být závislé na chování řazení a velikosti písmen v rozhraní .NET Framework 2.0 nebo 3.5. Pro podporu těchto aplikací umožňuje rozhraní .NET Framework 4 vývojářům použít starší řazení a pouzdrem chování tím, že zahrne element <CompatSortNLSVersion> do konfiguračního souboru aplikace. Starší řazení a pravidla velikosti písmen lze použít také na základě domény aplikace voláním metody AppDomainSetup.SetCompatibilitySwitches s přepínačem „NetFx40_LegacySecurityPolicy“ při konfiguraci domény aplikace. Všimněte si, že úspěšně obnovení staršího chování závisí na přítomnosti dynamické knihovny sort00001000.dll v místním systému.

Verze .NET Framework 4 poskytuje více možností řazení pro některé kultury. Například německá (Německo) jazyková verze standardně používá slovníkové řazení, ale jako alternativní řazení podporuje řazení dle telefonního seznamu. Například jazyková verze čínštiny (zjednodušená čínština, PRC) podporuje řazení podle výslovnosti jako výchozí chování a řazení podle počtu tahů jako alternativní řazení. Chcete-li určit alternativní pořadí řazení, můžete vytvořit objekt CultureInfo pomocí objektu LCID nebo názvu alternativního pořadí řazení. Tři alternativní řazení byla odebrána z .NET Framework 4, protože byla zrušena v systému Windows. Pokus o vytvoření objektu CultureInfo s LCID těchto zastaralých alternativních řazení vede k výjimce CultureNotFoundException. Alternativní řazení podporovaná rozhraním .NET Framework jsou uvedena v následující tabulce.

Název jazykové verze

Jazyk-země/oblast

Výchozí název řazení a objekt LCID

Alternativní název řazení a objekt LCID

zh-HK

Čínština - Hongkong – zvláštní správní oblast ČLR

Výchozí hodnota: 0x00000c04

zh-HK_stroke: 0x00020c04

ja-JP

Japonština – Japonsko

Výchozí hodnota: 0x00000411

ja-JP_unicod: 0x00010411

ko-KR

Korejština – Korea

Výchozí hodnota: 0x00000412

ko-KR_unicod: 0x00010412

Omezené použití identifikátorů národního prostředí

V rozhraní .NET Framework 4 používají metody ToString a ToString pro všechny jazykové verze názvy jazykových verzí bez LCID. Například .NET Framework 4 vrací hodnotu en-US CompareInfo - en-US místo hodnoty en-US CompareInfo – 1033, což byla hodnota vrácení v dřívějších verzích rozhraní .NET Framework.

Vlastnosti neutrální jazykových verzí

Předchozí verze rozhraní .NET Framework vyvolaly výjimku, pokud se aplikace pokusila o přístup k některým vlastnostem neutrální jazykové verze, jako například DateTimeFormatInfo.FirstDayOfWeek. V rozhraní .NET Framework 4 vlastnosti neutrální jazykové verze vrátí hodnoty, které odrážejí zvláštní jazykovou verzi, jež je pro neutrální jazykovou verzi nejvíce dominantní. Například francouzské neutrální národní prostředí bude načítat hodnoty většiny svých vlastností z francouzštiny (Francie). Vlastnost FirstDayOfWeek vrací hodnotu DayOfWeek.Monday, která odráží hodnotu této vlastnosti ve francouzské jazykové verzi (Francie).

Nicméně některé vlastnosti (například název jazyka) mají hodnoty, které se liší od dominantní jazykové verze. Například název jazyka norské neutrální jazykové verze je Norwegian, zatímco název jazyka konkrétní norské jazykové verze Bokmål (Norsko) je Norwegian (Bokmål).

V rozhraní .NET Framework 4 některé vlastnosti a metody neutrálních jazykových verzí vrátí místo neutrálních jazykových verzí konkrétní jazykové verze. Vlastnost KeyboardLayoutId a metoda GetConsoleFallbackUICulture ve třídě CultureInfo jsou dva příklady této změny.

  • Hodnota KeyboardLayoutId se změní:

    Název jazykové verze

    Verze 3.5

    Verze 4

    ýsečovém grafu

    1

    1025

    us

    10

    1034

    fr

    12

    1036

    zh-CHS

    4

    2052

  • Hodnota GetConsoleFallbackUICulture se změní:

    Název jazykové verze

    Verze 3.5

    Verze 4

    af

    af

    af-ZA

    de

    de

    de-DE

    cz

    cz

    CS

    ja

    ja

    ja-JP

Změny vlastních jazykových verzí

Neutrální náhradní jazykové verze vytvořené ve verzi .NET Framework 2.0 nelze načíst ve verzi .NET Framework 4.

Po registraci náhradní jazykové verze pomocí třídy CultureAndRegionInfoBuilder, změněné informace z vlastní jazykové verze již nebudou k dispozici ihned po procesu, který vytvořil vlastní jazykovou verzi. Procesy spuštěné po registraci této vlastní jazykové verze však budou moci číst změněné informace.

Funkce, které nebyly změněny

Textové informace, kódování, funkce kalendáře a prvky mezinárodního názvu domény (IDN) nebyly změněny v .NET Framework 4. Tyto oblasti i nadále fungují stejně jako dřív.

Historie změn

Datum

Historie

Důvod

Květen 2010

Obnovení staršího řazení a srovnání závisí na knihovně sort00001000.dll.

Oprava chyby obsahu