Como definir a cultura e a cultura da IU para globalização dos Windows Forms

Os dois valores de cultura de um aplicativo Visual Basic ou Visual C# determinam quais recursos são carregados no aplicativo e como informações como unidade monetária, números e datas são formatadas. Os recursos carregados são determinados pela configuração da cultura da IU, e as opções de formatação são determinadas pela configuração da cultura. O primeiro lugar que um aplicativo irá procurar por valores da cultura é nas propriedades CurrentCulture e CurrentUICulture. Você pode definir esses valores no código conforme mostrado no procedimento o seguir.

Valor padrão da propriedade CurrentCulture é a localidade do sistema operacional do usuário, que é definido no painel de controle Configurações Regionais . Valor padrão da propriedade CurrentUICulture é o idioma da interface do usuário (IU) do sistema operacional, que é o idioma da IU de seu sistema operacional. No Windows 2000 e Windows XP Multilanguage Edition, a CurrentUICulture usa como padrão as configurações do idioma da IU do usuário atual.

Em alguns casos, convém para fazer com que a maior parte de seu aplicativo mude de acordo com a configurações da cultura do sistema operacional ou do usuário, mas também ter um número ou data que não muda. Você pode fazer com que classes específicas para cultura formatem as informações da cultura invariável, que está associado com o idioma inglês, mas não com determinada região. Para obter mais informações sobre essas classes, consulte Formatting for Different Cultures e System.Globalization. Para obter mais informações sobre o cultura invariável, consulte InvariantCulture. Para obter informações sobre possíveis configurações de cultura, consulte CultureInfo.

Para definir a opções de formatação apropriadas para uma cultura específica

  1. Se você deseja substituir as configurações do usuário ou do sistema operacional, defina as propriedades CurrentCulture e CurrentUICulture.

    Geralmente, você deseja especificar uma cultura de modo que cada parte da IU do aplicativo seja apropriada para esta cultura. Portanto, você deve definir a cultura antes que o método InitializeComponent seja chamado.

    ' Put the Imports statements at the beginning of the code module
    Imports System.Threading
    Imports System.Globalization
    ' Put the following code before InitializeComponent()
    ' Sets the culture to French (France)
    Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR")
    ' Sets the UI culture to French (France)
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR")
    
    // Put the using statements at the beginning of the code module
    using System.Threading;
    using System.Globalization;
    // Put the following code before InitializeComponent()
    // Sets the culture to French (France)
    Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
    // Sets the UI culture to French (France)
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
    

    Dica

    O valor cultural deve sempre ser uma cultura específica (como " fr-FR "), não uma cultura neutra (como "FR").Uma cultura neutra como "fr" é problemática, pois ela pode se aplicar a todas as culturas de língua francesa, e moedas diferentes são usadas na França, Bélgica e Quebec.

  2. Chame métodos de formatação com a cultura invariável para as sequências de caracteres que devem aparecer inalteradas, independentemente do valor da propriedade CurrentCulture.

    Dim MyInt As Integer = 100
    Dim MyString As String = MyInt.ToString("C", CultureInfo.InvariantCulture)
    MessageBox.Show(MyString)
    
    int MyInt = 100;
    string MyString = MyInt.ToString("C", CultureInfo.InvariantCulture);
    MessageBox.Show(MyString);
    

Consulte também

Referência

CurrentCulture

CurrentUICulture

CultureInfo

Outros recursos

Globalizando aplicativos

Aplicativos de globalização e localização

Globalizando o Windows Forms