Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-09-2005
Avatar de Hugorr
Hugorr Hugorr is offline
Miembro
 
Registrado: jul 2005
Posts: 17
Poder: 0
Hugorr Va por buen camino
Angry Ufff, que lio

Buenas noches, señores/as.

La verdad que los componente están bien, pero me gustaria utilizar delphi por la traducción de las excepciones me parecce mas sencillo y ademas no dependo de componentes externos. De todas formas esta bien que halla varias solucciones.

Realmente jmariano a mi no me crea ninguna dll, seguramente lo haga mal. ¿Prodrias mandarme los pasos a segurir y un ejemplo en el que traduzca una simple etiqueta, o el formulario?.

Seguiré trasteando con esos componentes. Os tendre informados...
__________________
Gracias por dedicar su valioso tiempo... '(^_^)'

Un saludo
Hugorr

Última edición por Hugorr fecha: 01-09-2005 a las 22:48:55. Razón: Corrección del texto
Responder Con Cita
  #2  
Antiguo 02-09-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 22
jmariano Va por buen camino
Cita:
Empezado por Hugorr
Buenas noches, señores/as.

La verdad que los componente están bien, pero me gustaria utilizar delphi por la traducción de las excepciones me parecce mas sencillo y ademas no dependo de componentes externos. De todas formas esta bien que halla varias solucciones.

Realmente jmariano a mi no me crea ninguna dll, seguramente lo haga mal. ¿Prodrias mandarme los pasos a segurir y un ejemplo en el que traduzca una simple etiqueta, o el formulario?.

Seguiré trasteando con esos componentes. Os tendre informados...
Perdona, me equivoqué!!! los archivos no son de extensión .dll sino que toman otra extensión diferente dependiendo del idioma destino que hayas seleccionado cuando hiciste la traducción. Por ejemplo, si elegiste "Español-Alfabetización Internacional" el archivo creado tendrá extensión .ESN (el nombre es el mismo que el del ejecutable) o si eligiste "Español-Alfabetización Tradicional" tendrá extensión .ESS (creo que todas las variantes del español generan archivos que comienzan por "ES...", otros idiomas no se que extensión tendrán). En realidad, toman como extensión el mismo nombre de la carpeta donde Delphi te guardó el proyecto con la traducción, así que fíjate como se llama dicha carpeta y busca un archivo con esa extensión (que, normalmente, ha de estar donde se encuentre el ejecutable).

Cualquier duda vuelve a preguntar!

Saludos!

Última edición por jmariano fecha: 02-09-2005 a las 01:31:58.
Responder Con Cita
  #3  
Antiguo 02-09-2005
Avatar de Hugorr
Hugorr Hugorr is offline
Miembro
 
Registrado: jul 2005
Posts: 17
Poder: 0
Hugorr Va por buen camino
Question Ahora vamos entendiendo

Buenas,

jmariano bueno pues tenias rarón crea un archivo con extensión del idioma seleccionado caso de español (*.ESP). Ahora que ya hay cosa claras. Me gustaria meter todos esos archivo en una carpeta llamese "lang" y yo desde mi programa elegir un idioma de los disponibles y cambiarlo. Claro esta el problema que para cambiar depende del idioma del S.O. ¿Que pasa si el S.O. tiene un idioma que en la aplicación no está creado?

Si no es molestia prodrias mandarme un ejemplo....


Un saludo....
__________________
Gracias por dedicar su valioso tiempo... '(^_^)'

Un saludo
Hugorr

Última edición por Hugorr fecha: 04-09-2005 a las 18:43:26. Razón: Corrección del texto
Responder Con Cita
  #4  
Antiguo 02-09-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 22
jmariano Va por buen camino
Cita:
Empezado por Hugorr
Buenas,

jmariano bueno pues tenias rarón crea un archivo con extensión del idioma seleccionado caso de español (*.ESP). Ahora que ya hay cosa claras. Me gustaria meter todos esos archivo en una carpeta llamese "lang" y yo desde mi programa elegir un idioma de los disponibles y cambiarlo. Claro esta el problema que para cambiar depende del idioma del S.O. ¿Que pasa si el S.O. tiene un idioma que en la aplicación no está creado?

Si no es molestia prodrias mandarme un emplico....


Un saludo....
A tu última pregunta, si no existiera el idioma en tu aplicación, entonces, creo que no se cargará ningún archivo de recursos y tu aplicación se mostrará tal y como es originalmente.

A la cuestión de poder seleccionar el idioma en tiempo de ejecución, el problema está en que el sistema fue pensado para que el idioma se seleccionara automáticamente según el de Windows, al ejecutar la aplicación. Pero, despues de buscar un poco en la ayuda, resulta que si existe una manera (aunque es con "truco", claro, y no es algo soportado por la VCL y las funciones de Delphi). Así que te explico según lo que leí:

- Primero has de localizar una unidad llamada "ReInit.pas", forma parte del ejemplo de Delphi "Richedit" que se encuentra dentro de la carpeta "Demos". Esta unidad la has de añadir a la cláusula "Uses" de tu aplicación (lo mejor sería que la copiaras tambien a la carpeta de tu proyecto). Esta unidad es necesaria porque contiene algunos métodos que nos permitirán cambiar el idioma en ejecución.

- Por último, en el lugar donde quieras cambiar el idioma, llama a la función "LoadNewResourceModule" (pasándole como parámetro el identificador del idioma a cargar), comprueba que la función te devuelve un valor distinto de 0 (si devuelve 0 es que el idioma no se cargó) y, si es así, llama al procedimiento "ReinitializeForms" (este procedimiento lo que hace es volver a leer los recursos para todos los formularios ya instanciados en memoria). Una vez que hayas hecho todo (y si fue bien), verás que, a partir de ahora, todos tus formularios, mensajes, etc., son presentados en el idioma seleccionado.

Te pongo el ejemplo que viene en la ayuda:

Código Delphi [-]
uses
  ReInit, ...;

const
  FRENCH = (SUBLANG_FRENCH shl 10) or LANG_FRENCH;

if LoadNewResourceModule(FRENCH) <> 0 then
  ReinitializeForms;

(En el ejemplo carga, en tiempo de ejecución, todos los recursos para el idioma francés sin importar las diferentes variantes, es decir, carga el mismo recurso para todas las variantes que hubiera del francés).

Lo único que veo dificil es saber que identificador hay que utilizar para un idioma determinado. De todas formas, puedes hacer una búsqueda por el tipo "LCID" (utilizado para especificar un idioma) y ver el tema de los identificadores válidos.

Espero que te sirva!

Saludos!

P.D: Se me olvidó comentarte que si colocas los archivos de recursos en otra carpeta distina a la de la aplicación, entonces, tendrás que añadir dicha carpeta al "PATH" de Windows.

Chao!

Última edición por jmariano fecha: 02-09-2005 a las 22:17:29.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:27:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi