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:
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.
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!