Partilhar via


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.