Spanish
Establecer los valores Culture y UI Culture para la globalización de formularios Windows Forms
IntroducciónEn este artículo pretendo mostrar como independizar la aplicación de windows form de la configuración regional de windows.Muchas veces disponemos de diferentes aplicaciones en una misma PC y dependemos de la configuración regional del sistema. El tratamiento de los dígitos decimales en aplicaciones Windows, queda sometido siempre al uso del carácter que separa o diferencia la parte entera de la parte decimal de una cantidad numérica.A través del Panel de Control, podemos acceder a la aplicación denominada Configuración Regional y de Idioma. El problema surge cuando nuestra aplicación utiliza un símbolo decimal diferente al asignado dentro de <personname w:st="on" productid="la Configuración Regional">
la Configuración Regional y más aún, cuando tenemos dos aplicaciones Windows diferentes dentro del mismo sistema de producción que hacen uso de dos caracteres distintos de distinción entre la parte entera y la parte decimal. Si desea reemplazar la configuración del usuario o del sistema operativo, hay que establecer las propiedades CurrentCulture y CurrentUICulture. En general, se deseará especificar una referencia cultural en la que todas las partes que componen la interfaz del usuario sean apropiadas para esa referencia cultural. Por tanto, se deberá establecerla antes de que se llame al método InitializeComponent.
Para eso debemos establecer la cultura a utilizar en el archivo Program.cs
English
Set the Culture and UI Culture for Windows Forms Globalization
Introduction In this article I try to show like freeing the application from Windows form of the regional configuration of Windows. The two culture values of a Visual basic or Visual C# application determine what resources are loaded for an application and how information like currency, numbers and dates is formatted. The resources loaded are determined by the UI culture setting, and the formating options are determined by the culture setting.
The first place an application will search for culture valuesis the CurrentCulture and CurrentUICulture properties. You can set these values in code as shown in the following procedure.The CurrentCulture property's default value is the operating system's User Locale, which is set in the Regional Options control panel.
The CurrentUICulture property's default value is the operating system's user interface (UI) language, which is the language of your
operating system UI. On Windows 2000 and Windows XP MultiLanguage Edition, the CurrentUICulture defaults to the current user UI language settings.
If you want to override the settings of the user or operating system, set the CurrentCulture and CurrentUICulture properties. Usually, you want to specify a culture so that every part of the application's UI is appropriate to that culture. So you must set the culture before the InitializeComponent method is called.
Code of Program.cs
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Windows.Forms;
using System.Threading;
namespace MiApp
{
static class Program {
[STAThread]
public static void <place w:st="on" />Main()</place /><place w:st="on" />
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Thread.CurrentThread.CurrentCulture = new CultureInfo("es-AR");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-AR");
Application.Run(new form1());
}
}
}