c# WinForm globalizacion y localizacion de aplicacion

hugo gonzalez 0 Reputation points
2023-09-07T14:32:04.65+00:00

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;

Not Monitored
Not Monitored
Tag not monitored by Microsoft.
39,204 questions
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.