Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Today's Posts

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 02/07/2003
Athalon Athalon is offline
Miembro
 
Join Date: Jul 2003
Location: Barcelona
Posts: 31
Poder: 0
Athalon Va por buen camino
Question Multilenguaje en Delphi 7

Hola Chic@s,

Bueno, este es mi primer mensaje en un foro, espero hacerlo correctamente.

Tengo que investigar el multilenguaje en Delphi y he encontrado algunas cositas interesantes, he visto que puedes introducir lenguajes y hacer la traducción mediante la opción de Project|Languages|Add..., introduzco un lenguaje y hago la traducción pero no se como hacer que se refleje en el programa, por ejemplo, el programa comienza en lengua Castellana y quiero pasarlo a lengua inglesa, introduzco el lenguaje correspondiente y cuando ejecuto el programa me sale la principal, la lengua castellana y quiero saber como hacer la llamada para que me aparezca la lengua inglesa.

Espero una respuesta lo más rápido posible y muchas gracias por leer el mensaje.
__________________
Con una sonrisa me alegras el día, con tu corazón la vida.
Saludos,
Athalon
Reply With Quote
  #2  
Old 02/07/2003
__cadetill __cadetill is offline
Miembro
 
Join Date: May 2003
Posts: 3,387
Poder: 27
__cadetill Va por buen camino
El problema de utilizar este metodo, es que el lenguaje se basa en el que tienes establecido en Windows (si no voy errado), por lo que para que puedas ver la aplicacion en ingles, tienes que decirle a Windows que su idioma es el ingles.

Si lo que quieres es poder cambiar el idioma por opcion de menu, tienes que hacerlo de otra forma. Hay varias maneras, pero la que yo utilizo es poner todos los textos en una tabla de la base de datos y, traducirlos en ella. Entonces, segun el idioma escogido, muestro la pantalla. (muy a grandes rasgos )
Reply With Quote
  #3  
Old 02/07/2003
Athalon Athalon is offline
Miembro
 
Join Date: Jul 2003
Location: Barcelona
Posts: 31
Poder: 0
Athalon Va por buen camino
Gracias Cadetill pero he encontrado otro método bastante eficaz y sencillo, ahora utilizo ficheros de recursos de texto (*.res) creados con C++ aunque me parece que desde Delphi también se pueden modificar cosa que no he probado y la verdad que es bastante sencillo, por si acaso te interesa o le interesa a alguien más el método que se ha de utilizar es tan sencillo como poner el fichero en el Source del programa mediante la clave {$R nombrefichero.res} y luego utilizar una función llamada LoadStr(integer) en la cual le pasas el código que le has puesto a la frase dentro del .res y esta función te la devuelve, lo que no he probado es de hacerlo con varios ficheros.

De todas maneras Gracias otra vez Cadetill y ahora entiendo más el funcionamiento de los Languages de Delphi.
Reply With Quote
  #4  
Old 02/07/2003
delphi.com.ar's Avatar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Join Date: May 2003
Location: Buenos Aires, Argentina *
Posts: 5,964
Poder: 29
delphi.com.ar Va camino a la fama
Agrego que tienes un ejemplo entre las Demos de Delphi (RichEdit).

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Reply With Quote
  #5  
Old 02/07/2003
Athalon Athalon is offline
Miembro
 
Join Date: Jul 2003
Location: Barcelona
Posts: 31
Poder: 0
Athalon Va por buen camino
Smile

Gracias delphi.com.ar, si alguna vez necesito hacerlo con la opción de Languages tendre en cuenta el ejemplo que ya lo he mirado por encima.

Muchas Gracias.
Reply With Quote
  #6  
Old 02/07/2003
Descendents Descendents is offline
Miembro
 
Join Date: May 2003
Location: Barcelona
Posts: 396
Poder: 24
Descendents Va por buen camino
Yo no se si me he complicado la vida, pero yo lo que hecho, es una función, que lo que hace es que se recorre todos los componentes del form, cogen su caption, y los busca en un diccionario hecho por mi.Se queda con el numero de linea y carga el diccionario de inglés y va a buscar el número de linea con el que me he quedado antes y se lo pone al caption.

CAPTION, TEXT, lo que sea del compoente que sea

Pongo la llamada de función en el create del form y lo que hace es que siempre me lo traduce el sólo al diccionario que yo le diga

Y con el tema de showmessage y messagedlg y tal, lo que hago es que le asigno directamente un número de linea al mensaje, y el mensaje lo escribo en el diccionario
Reply With Quote
  #7  
Old 03/07/2003
__cadetill __cadetill is offline
Miembro
 
Join Date: May 2003
Posts: 3,387
Poder: 27
__cadetill Va por buen camino
Hola Descendents

La funcion de la que hablas, lo hagas de la forma en que lo hagas (con un fichero, con una tabla de la VD, con archivos de recursos,....) la tienes que hacer de todas maneras, asi que no es ninguna locura lo que has hecho (ni complicarte la vida)
Reply With Quote
  #8  
Old 03/07/2003
guillotmarc's Avatar
guillotmarc guillotmarc is offline
Miembro
 
Join Date: May 2003
Location: Huelva
Posts: 2,638
Poder: 26
guillotmarc Va por buen camino
Hola

Yo utilizo un componente comercial (de pago), el TsiLang, es muy comodo y funciona bien, además es bastante económico.

http://www.sicomponents.com/tsilang1.html

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Reply With Quote
  #9  
Old 03/07/2003
Athalon Athalon is offline
Miembro
 
Join Date: Jul 2003
Location: Barcelona
Posts: 31
Poder: 0
Athalon Va por buen camino
Talking

Hola a tod@s y gracias por todas las respuesta,

Ya lo he hecho y he hecho un programa que me funciona de mil maravillas, como bien decis paso por todos los componentes y les aplico el idioma adecuado utilizando un fichero de recursos.

Otra vez gracias por la ayuda y la orientación.
Reply With Quote
  #10  
Old 23/11/2003
DJ VMan DJ VMan is offline
Miembro
 
Join Date: Jun 2003
Location: Iquique - Chile
Posts: 81
Poder: 24
DJ VMan Va por buen camino
Hola. Vengo con una interrogante al tema:

He visto algunos software multilenguaje (o idioma), que ocupan archivos XML. En uno de ellos me consta que está hecho en CB, la pregunta es ¿Como se hace?, no tengo la mas mímina idea por ello pregunto.

He leido todo lo que han dicho (incluido el ejemplo richedit), y la forma de utilizar un XML, es la que mas megusta.

Digo esto por lo siguiente:

Supongamos que tengo un software que se hace popular. YO (nótese que YO) no voy a querer traducir toda la aplicación, es más fácil enviar un archivo de config. de idioma (1 solo) y que algunos voluntarios por aqui y por allá lo editen en los idiomas que se requiera.

Desde este punto de vista, me parece mejor un XML ya que es mas popular su construcción y su manejo.

Se me ocurre que tendré que hacer una función como la que dijo Descendents...o no?, pero como hago para abrir un XML desde Delphi?

(escribiendo se me ha ocurrido que tambien podría ser con un INI)
__________________
- Si tienes un problema que tiene solución ¿porque te preocupas?
- Si tienes un problema que no tiene solución ¿porque te preocupas?

Last edited by DJ VMan : 23/11/2003 at 13:37.
Reply With Quote
  #11  
Old 23/11/2003
kinobi's Avatar
kinobi kinobi is offline
Miembro
 
Join Date: May 2003
Posts: 2,621
Poder: 26
kinobi Va por buen camino
Hola,

Quote:
DJ VMan comentó:
Supongamos que tengo un software que se hace popular. YO (nótese que YO) no voy a querer traducir toda la aplicación, es más fácil enviar un archivo de config. de idioma (1 solo) y que algunos voluntarios por aqui y por allá lo editen en los idiomas que se requiera.
Otra alternativa: puedes utilizar gettext, el conjunto de herramientas del proyecto GNU para internacionalización.

Yo lo he utilizado en Linux con C y C++ y es bastante cómoda. Se crean archivos (ASCII) donde se almacenan las cadenas que precisan ser traducidas en tu aplicación, con un determinado formato (documentado), para cada idioma que quieras utilizar y, tras una especie de compilación de recursos del archivo, ya están listos para utilizar en tu aplicación. En ésta, tu aplicación, se marcan las cadenas que dependan del idioma escogido, bien a través de la función gettext("cadena_a_internacionalizar") o con la macro: _("cadena_a_internacionalizar") y listo, el sistema ya se encarga de localizar la versión adecuada al idioma utilizado en ese momento.

Al ser archivos ASCII los que guardan las cadenas de la aplicación que son susceptibles de internacionalización, cualquiera puede adaptar tu aplicación a su idioma con tener a mano un simple editor ASCII.

Como te he comentado, yo he utilizado gettext con C y C++ en Linux. Existen versiones para Win32, entre ellas esta: http://gettext.sourceforge.net/, con lo que lo único que quedaría sería hacer una interfaz, si no está hecha ya (que no lo sé), para poder utilizar gettext desde Delphi.

Saludos.
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 05:00.


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