c# WinForm globalizacion y localizacion de aplicacion
Estoy programando en c#, WinForm, intentando localizar mis aplicaciones.
elegi 6 idiomas (es-ES, pt-PT, en-US, fr-FR, de-DE, it-IT)
por un tema de velocidad en el ingreso de informacion numerica e elegido el punto decimal como punto decimal (es el que esta en el pad numerico de los teclados a la derecha).
y para las fechas elegi dd-mm-aaaa pues al ingresarlas ofrezco la fecha actual y la persona solo digita lo diferente, o sea si lo diferente es el dia solo escribe el dia y da enter, en cambio si el dia no fuera lo que esta al principio tendria que ubicarse y luego escribirlo, como lo que mas cambia son los dias, luego los meses y al final el año, elegi este formato.
System.Globalization.CultureInfo r = new System.Globalization.CultureInfo("es");
r.NumberFormat.CurrencyDecimalSeparator = ".";
r.NumberFormat.NumberDecimalSeparator = ".";
Thread.CurrentThread.CurrentCulture = r;
Thread.CurrentThread.CurrentUICulture = r;
Instale la herramienta Resx Resource Manager
Tengo un proyecto donde estan todos los Form comunes a las diferentes aplicaciones y que se llama DllCommons
En cada proyecto tengo el proyecto principal y un proyecto DllDatosPropios
por lo que voy a tener: DllCommons.resources.dll, DllDatosPropios.resources.dll y proyecto.resources.dll ubicados en carpetas: en, es, de, it, fr, pt
los programas los tengo estandarizados con
TareasPrevias - creo base de datos, respaldos, reviso que todo este bien
FormInicio - usuario, clave y en caso de tener varias empresas se elije o se crea
FormMenuPrincipal - aqui estan todos los procesos organizados dentro de un menu
cada formulario se abre y cierra, en el caso de inicio y menu principal se puede volver para atras
mi consulta es la siguiente:
estas lineas son las correctas ?
las tengo en program.cs y cuando entro el FormInicio y FormMenuPrincipal se redibujan correctamente.
pero si selecciono en FormInicio el idioma y las vuelvo a ejecutar no se redibuja ningun formulario
es necesario reiniciar la aplicacion cuando se cambia el idioma o mediante codigo se consigue que los formularios se rellenen ?
en determinados controles como ser los ComboBox debo llenarlos con informacion segun el idioma
cual seria la forma de indicarle donde esta el texto que tiene que utilizar ?
anteriormente cuando habia un solo resource yo hacia esto: this.Text = StringResources.formMenuPrincipal;