| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Trigger Lt


Registrado: 12 Ago 2002Mensajes: 88Ubicación: Barranquilla (Colombia)
|
Publicado: Vie 14 Nov, 2003 2:39 pm Asunto: Cambio de Idioma |
|
|
Saludos amigos adictos a la programacion (me incluyo )......
Tengo una pregunta muy elemental, voy a trbajar mi primer programa en plataforma multilenguaje, como asi, que la aplicacion debe estar en diferentes idiomas, no solamente a la hora de instalar escojer el idioma si en el moemento de la ejecucion switchar entre los diferentes idiomas...
He estado pensado en hacer archivos de idiomas (archivos planos) con identificadores de cadenas...
Spanish.lng | Cita: | LBL_USER_NAME=Nombre de usuario
LBL_USER_PASS=Contraseña |
English.lng | Cita: | LBL_USER_NAME=User name
LBL_USER_PASS=Password | y asi para todos los lenguajes, pero mi pregunta es que metodo emplearia para switchar estos idomas osea hacer tablas de punteros con los obetos y las cadenas, o cargar todos los idiomas o leer solamamente el ultimo idioma, si me entioendes tecnicas como esas...
O es mejor almacenarlos en una base de datos y luego consultar...
Gracias agradeceria su opinion o comentarios... _________________
Trigger  |
|
| Volver arriba |
|
 |
ikis Master


Registrado: 28 Dic 2002Mensajes: 703Ubicación: Madrid, España
|
Publicado: Vie 14 Nov, 2003 3:08 pm Asunto: |
|
|
Trigger,
usando VB (me obligaron) en la facu nos dieron un metodo muy practico, la cosa sería hacer un ciclo que recorra todos los componentes, levantar el nombre y luego buscar ese mismo nombre en una base de datos.
Creo que es una forma muy eficiente aunque alguna vez vi algun tip de Builder para los mismo ¿usando archivos de recursos? no recuerdo bien.
Para ciclar por los componentes tal vez podrias usar FindComponent.
atte _________________ Adrián
http://adrian.org.ar |
|
| Volver arriba |
|
 |
Trigger Lt


Registrado: 12 Ago 2002Mensajes: 88Ubicación: Barranquilla (Colombia)
|
Publicado: Vie 14 Nov, 2003 3:20 pm Asunto: |
|
|
Gracias Ikis, voy buscarlo _________________
Trigger  |
|
| Volver arriba |
|
 |
koes Lt


Registrado: 19 Jul 2003Mensajes: 77Ubicación: A Laracha (A Coruña)
|
Publicado: Vie 14 Nov, 2003 6:45 pm Asunto: |
|
|
| Yo estoy usando ficheros .ini, ficheros planos como los que has citado y hago un bucle con la operacion Form1->FindComponent() para recorrer todos los componentes. |
|
| Volver arriba |
|
 |
ikis Master


Registrado: 28 Dic 2002Mensajes: 703Ubicación: Madrid, España
|
Publicado: Vie 14 Nov, 2003 6:49 pm Asunto: |
|
|
| pero si usaras una tabla te ahorrarias unas lineas de codigos al poner unicamente el nombre del campo en la tabla del formulario correspndiente. |
|
| Volver arriba |
|
 |
koes Lt


Registrado: 19 Jul 2003Mensajes: 77Ubicación: A Laracha (A Coruña)
|
Publicado: Vie 14 Nov, 2003 7:25 pm Asunto: |
|
|
No entiendo muy bien lo que acabas de comentar, yo te digo como lo hago:
| Código: |
void LanguageManager::setLabels(TIniFile *ini) {
int max = ini->ReadInteger("Labels",
"NumberOfLabels",0);
TLabel *Label;
for (int i=1;i<=max;i++)
{
Label =(TLabel*)Form1->FindComponent("Label" + AnsiString(i));
Label->Caption = ini->ReadString("Labels","Label"+AnsiString(i),"");
}
}
|
|
|
| Volver arriba |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
Publicado: Vie 14 Nov, 2003 7:34 pm Asunto: |
|
|
Efectivamente la alternativa de Koes es mas "barata" para tu aplicacion, ya que si usas una tabla tendras que tener tambien el bde en el pc destino y si es una aplicacion pequeña como comenta Trigger no vale la pena. En fin FindComponent es a mi parecer mas conveniente. Si estoy equivocado diganme ....
Saludos! _________________ "Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez
Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!! |
|
| Volver arriba |
|
 |
|