Visual Basic - Aplicacion Multilenguaje ¿como lo harian ustedes?

Life is soft - evento anual de software empresarial
 
Vista:

Aplicacion Multilenguaje ¿como lo harian ustedes?

Publicado por EmaAldaz (1 intervención) el 04/08/2020 17:35:36
Hola, muy buenos días a todos!

Estoy trabajando sobre un sistema desarrollado en vb6 y necesito hacerlo multilenguaje.

Lo que hice hasta el momento fue cargar todos los controles (labels, textbox, command, entre otros) a una base de datos. La tabla tiene la siguiente estructura:

1
2
3
4
5
6
7
8
9
CREATE TABLE opIdiomasControles(
	id int PRIMARY KEY IDENTITY(1,1),
	formulario nvarchar(250),
	idIdioma int,
	nombre nvarchar(50) NOT NULL,
	texto nvarchar(250),
	indice int,
	FOREIGN KEY (idIdioma) REFERENCES opIdiomas(id)
)

Consulto la misma y el resultado lo vuelco en los controles asignando los caption correspondientes.

Ahora el problema es el siguiente:

Existen condicionales o comparativas por código que dejarían de funcionar si cambio de idioma el control, puesto que no tendrían el mismo contenido que tenían en un principio.


1
If (control.caption = "Aceptar ")

Esto dejaría de funcionar porque depende del idioma ya no seria "Aceptar".

Como lo harían ustedes?
Mi idea es duplicar los controles y utilizar los nuevos como una mascara. Al realizar una acción sobre X control que se "sincronice" con su par y de esta forma no tocaría el código original.
La contra es que tengo que duplicar todos los controles y resulta algo tedioso.


Alguna otra opción? Espero puedan ayudarme con ideas y luego yo haré el código.. pero necesito de su ayuda.

Desde ya muchísimas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.217
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Aplicacion Multilenguaje ¿como lo harian ustedes?

Publicado por Antoni Masana (442 intervenciones) el 05/08/2020 12:45:20
Realice hace años una aplicación que tenia que funcionar en varios idiomas en Clipper 5.2 y la solución que utilice fue de varios elementos combinados:

* Una función con dos parámetros el idioma y el texto quiero.
* El idioma viene definido por la configuración que sera el valor de una variable publica o una función.
* El texto viene definido por una constante que puede tener un valor numérico o alfanumérico.

En mi caso tenía los textos en el mismo programa, por razones de velocidad pero esto es lo de menos y en el caso de tu ejemplo pondría:

1
If (control.caption = FUN_TEXTO(PUB_IDIOMA CONST_ACEPTAR))

En este caso la función Texto buscara en BBDD el registro que corresponde al valor de Idioma y el valor de Aceptar y devolerá el texto que corresponda.
Los nombres de variables y función son a modo de ejemplo.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar