la aplicacion tiene una 35+ ventanas asi que es una aplicacion un poco grande, creo que voy a tenar hacerlo por la bd ya que por ini tardaria mucho
No me digas ????....
Desde cuando tomar los datos de un archivo binario es más lento que de una base de datos ????.
En lo que tardas en hacer la conexión a la bd ya se han cargado el idioma de 100 ventanas.
En XML es lo mismo que en un ini, sólo que algo más lento porque tendrás un intérprete de XML por medio.
Lo lógico es cargar el idioma al inicio, lo primero ver si se estableció idioma . Leyendo en el ini una estructura básica, que indica que idioma es el seleccionado actualmente, en esa estructura le indicas el puntero al byte donde se lee el idioma actual y lo lees de un golpe o formulario a formulario y lo asignas a los controles.
Una base de datos lo que si te va a permitir es actualizar mucho mejor cualquier cambio posterior que hagas...sugiero una tabla por cada formulario... de ese modo no tendrás nombres de control repetidos en cada tabla.