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 |