VB6 Aplicación multilenguaje ¿Como lo harían ustedes?


04 de Agosto del 2020

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!