Compartir a través de


Cómo: Establecer la referencia cultural y la referencia cultural de la interfaz de usuario para la globalización de formularios Windows Forms

Actualización: noviembre 2007

Los dos valores de referencia cultural de una aplicación de Visual Basic o Visual C# determinan qué recursos se cargan para una aplicación y cómo se da formato a información como moneda, números y fechas. Los recursos que se cargan vienen determinados por el valor UI Culture, mientras que las opciones de formato las determina el valor Culture. El primer lugar en que una aplicación busca los valores de referencia cultural es en las propiedades CurrentCulture y CurrentUICulture, Puede establecer estos valores en el código tal como se muestra en el procedimiento siguiente.

El valor predeterminado de la propiedad CurrentCulture es la configuración regional del sistema operativo, que se establece en la opción Configuración regional del Panel de control. El valor predeterminado de la propiedad CurrentUICulture es el idioma de la interfaz de usuario del sistema operativo, que es el idioma de la interfaz de usuario de su sistema operativo. En Windows 2000 y Windows XP MultiLanguage, el valor predeterminado de CurrentUICulture es el idioma de la interfaz de usuario actual.

En algunos casos, es posible que se desee que la mayor parte de la aplicación cambie para adecuarse a los valores de la referencia cultural del sistema o del usuario, pero manteniendo inalterado, a la vez, un número o una fecha. Esto es posible mediante clases específicas de la referencia cultural que dan formato a la información con la referencia cultural de todos los idiomas (invariant), que está asociada al idioma inglés pero no a una región en particular. Para obtener más información sobre estas clases, vea Aplicar formato para diferentes referencias culturales y System.Globalization. Para obtener más información sobre la referencia cultural en todos los idiomas, vea InvariantCulture. Para obtener información sobre las posibles configuraciones de la referencia cultural, vea CultureInfo.

Para establecer opciones de formato apropiadas para una referencia cultural determinada

  1. Si desea reemplazar la configuración del usuario o del sistema operativo, establezca las propiedades CurrentCulture y CurrentUICulture.

    Normalmente, desea especificar una referencia cultural para que cada parte de la interfaz de usuario de la aplicación sea adecuada a esa referencia cultural. Por tanto, deberá establecerla antes de que se llame al método InitializeComponent.

    ' 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");
    
    Nota:

    El valor de referencia cultural deberá ser siempre específico (como "fr-FR"), no una referencia cultural neutra (como "fr"). La razón es que una referencia cultural como "fr" puede aplicarse a todas las referencias culturales francohablantes, y a las distintas monedas usadas en Francia, Bélgica y Quebec.

  2. Invoque métodos de formato con la referencia cultural de todos los idiomas (invariant) para las cadenas que deban aparecer sin cambios, sin importar el valor de la propiedad 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);
    

Vea también

Referencia

CurrentCulture

CurrentUICulture

CultureInfo

Otros recursos

Globalizar aplicaciones

Globalizar y localizar aplicaciones

Globalizar formularios Windows Forms