Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Cambio de Idioma

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Cambio de Idioma Responder citando

Saludos amigos adictos a la programacion (me incluyo Laughing)......

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 Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Gracias Ikis, voy buscarlo
_________________

Trigger Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

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 Wink ....


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
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.