Novidades sobre globalização e localização
Este tópico descreve as alterações às classes e enumerações na System.Globalization namespace a .NET Framework versão 4. Este tópico contém as seções a seguir:
Novas culturas neutras
Novas culturas específicas
Valores de propriedade de globalização atualizados
Obtendo informações de globalização atual
Manipulação de seqüência de caracteres
Redução de uso de identificadores de localidade
Propriedades de culturas neutras
Alterações em Custom culturas
Recursos que não foram alterados
Novas culturas neutras
O .NET Framework 4 suporta um mínimo de 354 culturas, em comparação comparada um mínimo de 203 culturas o.NET Framework 3.5. Muitas das novas culturas são culturas neutras que foram adicionadas para concluir a cadeia de pais para a cultura neutra de raiz. Por exemplo, três tons neutros de Inuktitut foram adicionados para as culturas existentes Inuktitut (silábico, Canadá) e Inuktitut (latino, Canadá), conforme mostrado na tabela a seguir.
Nome de exibição da cultura |
Nome de cultura |
LCID |
---|---|---|
Inuktitut |
IU |
0x005d |
Inuktitut (silábico) |
Latas de IU |
0x785D |
Inuktitut (silábico, Canadá) |
CA de latas de IU |
0x045D |
Inuktitut (latino) |
Latn de IU |
0x7C5D |
Inuktitut (latino, Canadá) |
IU-Latn-CA |
0x085D |
Novas culturas específicas
O .NET Framework 4 também introduz novas culturas específicas, como o novo Sérvio culturas. Sérvio culturas antigas foram renomeadas para sérvio (cirílico, Sérvia e Montenegro (antigo)) e Sérvio (latino, Sérvia e Montenegro (antigo)) para evitar a colisão do nome de exibição. Essas culturas permanecem na.NET Framework com as informações existentes, incluindo seus nomes de cultura e identificadores de cultura.
Nome de exibição da cultura |
Nome de cultura |
LCID |
---|---|---|
Sérvio - Sérvia (latino) |
SR-Latn-RS. |
0x241A |
Sérvio - Sérvia (cirílico) |
SR-Cyrl-RS. |
0x281A |
Sérvio - Montenegro (latino) |
SR-Latn-ME |
0x2C1A |
Sérvio - Montenegro (cirílico) |
SR-Cyrl-ME |
0x301A |
Os nomes de exibição das culturas chinês foram alterados para seguir a convenção de nomenclatura LanguageName ([Script,] país/RegionName). No .NET Framework 4, a palavra "Legado" foi acrescentado aos nomes de exibição zh-CHS e zh-CHT para diferenciá-los dos zh-Hans e zh-Hant. zh, que recentemente foi introduzida no Windows, possui "Chinês" como seu nome de exibição.
Nome de exibição |
Nome de cultura |
LCID |
---|---|---|
Chinês |
zh |
0x7804 |
Chinês Legacy (simplificado) |
zh-CHS |
0X0004 |
Chinês (tradicional) herdado |
zh-CHT |
0x7C04 |
Chinês (Simplificado) |
zh-Hans |
0X0004 |
Chinês (tradicional) |
zh-Hant |
0x7C04 |
Chinês (simplificado, República Popular da China) |
zh-CN |
0x0804 |
Chinês (tradicional, RAE de Hong Kong) |
zh-HK |
0x0C04 |
Chinês (tradicional, administrativa especial de Macau) |
zh-MO |
0x1404 |
Chinês (simplificado, Cingapura) |
zh-SG. |
0x1004 |
Chinês (tradicional, Taiwan) |
zh-TW |
0x0404 |
A cadeia de pais das culturas chinês agora inclui a cultura chinês de raiz. Os exemplos a seguir mostram a cadeia completa de pai para duas das culturas específicas chinês:
zh-CN → zh-CHS → zh-Hans → zh → invariável
zh-TW → zh-CHT → zh-Hant → zh → invariável
Tibetano (PRC), francês (Mônaco), Tamazight (latino, Algéria) e os nomes de exibição de Espanhol (Espanha, classificação de International) foram atualizados também. Quando o nome de exibição for alterada, geralmente os nomes em inglês e nativos refletem essa alteração; No entanto, a ISO e os nomes abreviados do script, idioma e país podem alterar também.
Valores de propriedade de globalização atualizados
O .NET Framework 4 também atualiza os valores das propriedades de globalização como moeda, formatos de data e hora, dia e mês, nomes, A.M. e P.M. Designadores e algumas propriedades de formatação de número. A tabela a seguir fornece exemplos de moeda de alterações de nome na System.Globalization.RegionInfo classe.
Nome de cultura |
Nome da moeda de versão 3.5 |
Nome da moeda de versão 4 |
---|---|---|
MT MT |
Lira Maltesa |
Euro |
SK-SK |
Coroa eslovaca |
Euro |
sl-SI. |
Tolar esloveno |
Euro |
tr-TR |
Nova Lira turca |
Lira turca |
A tabela a seguir fornece um exemplo de alterações para o padrão de data abreviada no System.Globalization.DateTimeFormatInfo classe.
Nome de cultura |
Padrão de data abreviada da versão 3.5 |
Padrão de data abreviada da versão 4 |
---|---|---|
ar-SA. |
MM/DD/AA |
MM/dd/aaaa |
AF PRS |
MM/DD/AA |
aaaa/M/d. |
AF PS |
MM/DD/AA |
aaaa/M/d. |
pt-BR |
M/d/aaaa |
MM/dd/aaaa |
Alguns dados de calendário foi alterados, como, por exemplo, nomes de mês e dia para várias localidades (por exemplo, o DateTimeFormatInfo.ShortestDayNames propriedade para as localidades árabe). Algumas localidades da direita para esquerda (como, por exemplo, prs-AF, ps-AF e CN ug) tinham valores incorretos para o TextInfo.IsRightToLeft propriedade e que foram corrigidos nesta versão.
Obtendo informações de globalização atual
Um dos recursos principais de globalização do.NET Framework 4 é a capacidade de fornecer as informações mais recentes, onde estiver disponível. As informações de globalização mais antigas que fornecerá esta versão são os dados disponíveis em tempo de entrega e somente quando executado em Windows anteriores ao Windows 7. Ao executar o Windows 7 e versões posteriores, as informações de globalização serão recuperadas diretamente a partir do sistema operacional, o que significa que os clientes obterão as informações de globalização atual ao atualizar para o novo Windows. Os clientes que executam o Windows 7 e versões posteriores, verá uma globalização unificada a experiência para as tecnologias nativa (Win32) e gerenciado (.NET) gerenciados.
Devido o mundo em constante mudança, informações de globalização são sujeitas a alterações a qualquer momento. os desenvolvedores não devem esperar que os valores das propriedades de globalização para persistir entre versões, ou mesmo para a mesma versão do.NET Framework. Não é inteiramente novo comportamento para o.Usuários do NET Framework. As propriedades das Windows-somente-culturas que eram suportadas desde.NET Framework 2 poderia ter valores diferentes quando executado em diferentes versões do Windows
Nome de cultura é a propriedade mais estável, as informações de cultura e deve permanecer estável em versões futuras. Outras propriedades como, por exemplo, o nome de exibição de cultura podem alterar a qualquer momento, portanto, os aplicativos não devem depender a ortografia do nome de exibição ou quaisquer outros dados textuais ou numéricos.
O mecanismo de recuperação de informações de globalização mudou a .NET Framework 4. Se seu aplicativo é executado no Windows 7 ou versões posteriores, ele recupera informações de globalização diretamente a partir do sistema operacional. Se seu aplicativo é executado em uma versão anterior do Windows (como o Windows Vista, Windows XP, Windows Server 2003 ou Windows Server 2008), ele recupera informações de globalização de um armazenamento de dados interno para garantir que os dados sejam atualizados.
Em que o novo modelo de recuperação de informações de globalização, as definições de alguns do CultureTypes será alterado, pois as informações de globalização são recuperadas de diferentes locais, dependendo do sistema operacional do host. O CultureTypes membros WindowsOnlyCultures e FrameworkCultures agora estão obsoletos. Se você tentar usar esses membros, o compilador gera um aviso, embora a compilação é bem-sucedida. Usando WindowsOnlyCultures não retorna nenhuma culturas, e FrameworkCultures retorna todas as culturas. Outros CultureTypes os membros têm as mesmas definições como antes.
Manipulação de seqüência de caracteres
Muitos.Classes do NET Framework, incluindo CharUnicodeInfo, CompareInfo, StringInfo, TextInfo, e TextElementEnumerator na System.Globalization namespace, classificação, maiúsculas e minúsculas e as regras de normalização de implementar e recuperar informações de caractere Unicode. No .NET Framework 4, esses recursos são sincronizados com o Windows 7, que fornece recursos de maiúsculas e minúsculas para os idiomas chinês, japonês e coreano (CJK) e classificação lingüística mais rica e que corrige vários problemas reportados por clientes. A alteração mais importante é a conformidade com o 5.1 Unicode standard, que adiciona suporte a aproximadamente 1400 caracteres, incluindo novos símbolos, setas, sinais diacríticos, pontuação, símbolos matemáticos, Ideograma traçados, ideogramas, malaiala e Telugu caracteres numéricos. Além disso, o Unicode 5.1 melhora classificando e casing para caracteres dentro os seguintes scripts existentes: Latino, Myanmar, árabe, grego, mongol, cirílico, Gurmukhi, oriá, tâmil, télugo e malaiala. Ele também adiciona suporte para novos scripts a seguintes: Sundanese, Lepcha, Ol Chiki, variável, Saurashtra, Kayah Li, Rejang e Cham.
Muitos cenários, como a indexação do banco de dados, exigem um comportamento consistente entre diferentes versões do Windows de manipulação de seqüência de caracteres. O .NET Framework 4 garante um comportamento consistente de string handling operações independentemente da versão Windows host.
Os aplicativos existentes que criar índices do banco de dados ou armazenam chaves de classificação podem depender a classificação e o comportamento de maiúsculas e minúsculas na.NET Framework 2.0 ou 3.5. Para oferecer suporte a esses aplicativos.NET Framework 4 permite aos desenvolvedores aplicar a classificação de legado e o comportamento de maiúsculas e minúsculas, incluindo o <CompatSortNLSVersion> elemento no arquivo de configuração do aplicativo. Herdado de classificação e Rules de também pode ser aplicado em uma base por aplicativo domínio chamando o AppDomainSetup.SetCompatibilitySwitches método com "netfx40_legacysecuritypolicy" Alterne ao configurar o domínio do aplicativo. Observe que restaurar com êxito o comportamento herdado depende da presença de biblioteca de vínculo dinâmico sort00001000.dll no sistema local.
O .NET Framework 4 fornece várias opções de classificação para algumas culturas. Por exemplo, a cultura de alemão (Alemanha) usa a ordem de classificação de dicionário por padrão, mas oferece suporte a classificação de catálogo telefônico como uma ordem de classificação alternativa. Como outro exemplo, a cultura do chinês (simplificado, República Popular da China) suporta classificação por pronúncia como o comportamento padrão e a classificação por contagem de traços como uma ordem de classificação alternativa. Para especificar a ordem de classificação alternativa, você pode criar um CultureInfo o objeto usando o LCID ou o nome da ordem de classificação alternativa. Três ordens de classificação alternativas foram removidas do .NET Framework 4, porque eles foram preteridos no Windows. A tentativa de construir um CultureInfo de objeto com o LCID desses preterido lança de ordens de classificação alternativa um exceção deCultureNotFoundException . As ordens de classificação alternativo que são suportadas pelo.NET Framework estão listados na tabela seguinte.
Nome de cultura |
Idioma-país/região. |
Nome de classificação padrão e LCID |
O nome de classificação alternativa e LCID |
---|---|---|---|
zh-HK |
Chinês - Hong Kong SAR |
Padrão: 0x00000c04 |
zh-HK_stroke: 0x00020c04 |
ja-JP. |
Japonês – Japão |
Padrão: 0x00000411 |
ja-JP_unicod: 0x00010411 |
ko-KR. |
Coreano – Coréia |
Padrão: 0x00000412 |
ko-KR_unicod: 0x00010412 |
Redução de uso de identificadores de localidade
No .NET Framework 4, o ToString e ToString métodos usam nomes de cultura sem LCIDs para todas as culturas. Por exemplo, o .NET Framework 4 retorna "CompareInfo en-US-en-US" em vez de "en-US CompareInfo – 1033", que era o valor de retorno em versões anteriores do.NET Framework.
Propriedades de culturas neutras
Versões anteriores do.NET Framework emitiu uma exceção se aplicativos tentaram acessar as propriedades de cultura neutra, como DateTimeFormatInfo.FirstDayOfWeek. No .NET Framework 4, propriedades de cultura neutra retornam valores que refletem a cultura específica, que é mais dominante para essa cultura neutra. Por exemplo, a localidade neutra francês recupera os valores da maioria de suas propriedades de francês (França). O FirstDayOfWeek retorna a propriedade DayOfWeek.Monday, que reflete o valor dessa propriedade na cultura Francês (França).
Entretanto, algumas propriedades (como o nome do idioma) tem valores diferentes da cultura dominante. Por exemplo, o nome do idioma do norueguês cultura neutra é o norueguês, enquanto o nome do idioma da cultura específica do norueguês, Bokmal (Noruega) é Norueguês (Bokmål).
No .NET Framework 4, algumas propriedades e métodos de culturas neutras retornam valores que refletem as culturas específicas em vez de culturas neutras. O KeyboardLayoutId propriedade e GetConsoleFallbackUICulture método na CultureInfo classe são dois exemplos de alteração.
KeyboardLayoutIdalterações de valor:
Nome de cultura
Versão 3.5
Versão 4
ar
1
1025
es
10
1034
FR
12
1036
zh-CHS
4
2052
GetConsoleFallbackUICulturealterações de valor:
Nome de cultura
Versão 3.5
Versão 4
AF
AF
AF ZA
de
de
de-DE.
en
en
en-US.
ja
ja
ja-JP.
Alterações em Custom culturas
As culturas neutras substituição criadas pelo.NET Framework versão 2.0 não carregam na .NET Framework 4.
Quando você registra uma cultura de substituição usando o CultureAndRegionInfoBuilder classe, as informações de substituição da cultura personalizada não estão disponíveis imediatamente para o processo que criou a cultura personalizada. Entretanto, os processos são iniciados após o registro desta cultura personalizada são capazes de ler as informações de substituição.
Recursos que não foram alterados
Informações de texto, codificação, a funcionalidade de calendário e os recursos de nome de domínio internacionalizados (IDN) não foram alterados na .NET Framework 4. Essas áreas continuam funcionando como antes.
Histórico de alterações
Date |
History |
Motivo |
---|---|---|
Maio de 2010 |
Observar que a restauração de classificação e comparação de legado depende de sort00001000.dll. |
Correção de bug de conteúdo. |