Partilhar via


Usando a propriedade CurrentCulture

O CurrentCulture propriedade representa informações de cultura atual em uma base por thread. Essa informação determina os formatos padrão para datas, horas, moeda e números; a ordem de classificação de texto; comparações de seqüência de caracteres; e a capitalização. A configuração feita através desta propriedade não é uma configuração de idioma. A propriedade define somente os dados relacionados às configurações padrão para uma região geográfica. Portanto, seu aplicativo só pode definir CurrentCulture para uma cultura específica ou para a InvariantCulture. O aplicativo pode usar o CurrentThread a propriedade para definir CurrentCulture.

Observação

Alterar a cultura dos CurrentThread requer um SecurityPermission de objeto com o ControlThread definido.Manipular segmentos é perigoso devido o estado de segurança associado com segmentos.Portanto, essa permissão deve ser dada apenas ao código confiável e em seguida, somente quando necessário.Não é possível alterar uma cultura de thread no código semiconfiável.

Definir explicitamente a propriedade CurrentCulture

Seu aplicativo pode definir o CurrentCulture propriedade explicitamente. O exemplo de código a seguir define a propriedade para a cultura específica alemão (Alemanha) designada "de-DE".

Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE")
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");

O aplicativo deve usar uma cultura específica para inicializar o CurrentCulture propriedade. A propriedade espera uma cultura que está associada com um idioma e país/região, por exemplo, inglês (Estados Unidos), designado "en-US". Porque um idioma geralmente é falado em mais de um país ou região, as informações regionais são necessárias para determinar as convenções de formatação apropriadas para usar. Por exemplo, se seu aplicativo especifica a cultura "en" inglês neutra, não há uma única definição correta para o formato de data ou de moeda. A data pode ser formato de Estados Unidos ou Reino Unido. A moeda pode ser o formato da Nova Zelândia ou canadense. Se o aplicativo tenta definir a CurrentCulture propriedade especificando uma cultura neutra, uma exceção é lançada.

Se você tiver apenas o acesso a uma cultura neutra, seu aplicativo pode criar um CultureInfo o objeto no formato que CurrentCulture espera, usando o CreateSpecificCulture método. Esse método mapeia uma cultura neutra para a cultura específica padrão associado e cria um CultureInfo objeto que representa essa cultura específica. O seguinte exemplo de código usa a CreateSpecificCulture método para mapear a cultura neutra do alemão ("de") para a cultura específica alemão (Alemanha) designado "de-DE". Ele cria um CultureInfo o objeto para "de-DE" e o usa para inicializar o valor de CurrentCulture propriedade.

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("de")
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("de");

Observação

Esse método é opcional.Se o mapeamento, que ele fornece não for apropriado para seu aplicativo, o aplicativo pode usar seu próprio mapeamento.

Definir explicitamente a propriedade CurrentCulture na página aspx

O CreateSpecificCulture método também permite que seu aplicativo para usar a linguagem atual de um navegador da Web para inicializar o CurrentCulture propriedade em uma página. aspx. No exemplo de código a seguir, o UserLanguages propriedade recupera o idioma do navegador da Web como uma seqüência de caracteres. O CreateSpecificCulture método analisa essa seqüência de caracteres e retorna um CultureInfo o objeto no formato que pode ser usado para inicializar o valor da CurrentCulture propriedade.

' Sets the CurrentCulture property to the culture associated with the Web
' browser's current language setting.
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0])
// Sets the CurrentCulture property to the culture associated with the Web
// browser's current language setting.
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);

Para obter mais informações sobre como usar e recuperando recursos no ASP.NET, consulte Resources in ASP.NET Applications.

Implicitamente, definindo a propriedade CurrentCulture

No sistema operacional Windows, o GetUserDefaultLCID função conjuntos de CurrentCulture propriedade. O usuário pode alterar a configuração da propriedade alterando a cultura do usuário através das opções regionais e de idioma no painel de controle ou alterando configurações de localidade do usuário, como, por exemplo, moeda, número, data e formatos de hora.

Se você deseja garantir que seu aplicativo usa os formatos padrão fornecidos pelo.NET Framework para a moeda, números, data e hora para uma cultura especificada, ter o aplicativo a substituir os padrões de localidade do usuário. O aplicativo deve criar um CultureInfo de objeto usando uma sobrecarga de construtor que aceita um useUserOverride parâmetro e definir este parâmetro false. Usando esta técnica faz com que as configurações padrão no sistema operacional do usuário ser substituído pelo.Configurações padrão do NET Framework. Quando a formatação de moeda para membros da União Européia (UE) trading em euros, seu aplicativo é recomendável definir o useUserOverride parâmetro para false para garantir que o símbolo da moeda correto é usado. Para obter mais informações, consulte o "formatação de moeda para o Euro Nations" subtópico na Formatação de dados numéricos para uma cultura específica tópico.

Consulte também

Conceitos

Formatação de dados numéricos para uma cultura específica

Resources in ASP.NET Applications

Usando a classe CultureInfo

Usando a propriedade CurrentUICulture

Usando a propriedade InvariantCulture