Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-04-2007
Avatar de Titanio Verde
Titanio Verde Titanio Verde is offline
Registrado
 
Registrado: abr 2007
Ubicación: Ibiza, España
Posts: 2
Poder: 0
Titanio Verde Va por buen camino
Multi-idioma en Delphi 7

Buenos días. He retomado la programación recientemente en Delphi (aunque antes no tenía apenas nivel... y sigo sin tener mucho ^^u). Espero no ser de mucha molestia para ustedes, expertos. Y perdón si no escribo en la sección correcta.

Estoy metido en un par de programillas muy básicos, y lo que me trae de cabeza es mantenerlos en dos idiomas (castellano e inglés, por ahora).

De momento lo que he hecho ha sido tener dos proyectos separados, uno en cada idioma. Acabo de descubrir que con Delphi 7 se puede tener un proyecto traducido a varios idiomas, pero no acabo de entender cómo funciona.

¿El idioma del proyecto cambia según el idioma del sistema operativo? (Supongo que será lo lógico) O ¿cómo se puede elegir el idioma dentro del mismo programa (mediante un menú, por ejemplo)? O sino, ¿hay algún tipo de compatibilidad con los archivos PO?

Otro punto que me preocupa sobre esto es que no consigo traducir los botones mbYes y mbNo en una ventana de diálogo.

Gracias por su paciencia.
Responder Con Cita
  #2  
Antiguo 25-04-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
O sino, ¿hay algún tipo de compatibilidad con los archivos PO?
Ahí quería yo llegar. Afortunadamente también contamos con GetText, de la mano de DXGetText, por lo que podrás valerte, entre otras cosas, de los archivos ".po", ".mo" y editores como PoEdit.

Respecto de la última cuestión... me temo que una solución podría pasar por utilizar otro tipo de diálogo. O bien construyes tú mismo un diálogo partiendo de un formulario y lo adaptas a tus necesidades, o bien, si no estoy equivocado, puedes usar los "Application.MessageBox", puesto que de la localización de los botones de estos diálogos se encarga el propio Windows.

Pero no sé hasta qué punto no te resultará mejor construir tus propios diálogos, puesto que si tu aplicación permite cambiar el idioma de la aplicación "cuando se quiera", los diálogos de "MessageBox" seguirían estando en el lenguaje "del sistema". Pero, vamos, creo que lo de los diálogos es un "mal menor" si se pretende usar algo como DxGetText.

Otra cosa más es que Delphi incorpora su propia "forma" de localizar programas. Sin embargo no puedo comentar nada de esta forma, puesto que nunca la utilizé. Sólo sé que existe algo así. Como también sé que existen no pocos intentos de montar un "framework" para localizar aplicaciones en Delphi. La Jedi Library, por ejemplo, incorpora clases y componentes para esta tarea. Pero hay más aún.

Sin embargo, el que DXGetText pueda aprovecharse de POEdit, por ejemplo, ya es una ventaja muy difícil de igualar, en mi opinión.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 25-04-2007 a las 14:08:50.
Responder Con Cita
  #3  
Antiguo 27-04-2007
Avatar de Titanio Verde
Titanio Verde Titanio Verde is offline
Registrado
 
Registrado: abr 2007
Ubicación: Ibiza, España
Posts: 2
Poder: 0
Titanio Verde Va por buen camino
POs más tarde

Bueno, el PO me vendrá estupendo cuando monte alguna aplicación que merezca la pena estar en muchos idiomas, y dejase sitio para traductores aficionados.
Y DXGetText no tiene mala pinta. Gracias por la sugerencia.

He probado, con las herramientas de traducción de Delphi 7, a darle dos idiomas a una de mis aplicaciones, dejando el inglés de Estados Unidos (ENU) como base, y el español de alfabetización internacional (ESP) como alternativo. Pero la aplicación me sale en inglés (más o menos me lo esperaba).

Esto me recuerda un poco a un programilla que probé hace tiempo, ÜberIcon, cuyo único menú contextual era también multi-idioma, y se supone que detectaba automáticamente el idioma del sistema operativo. Pero me salía en inglés, y tenía que elegir yo el español de alfabetización tradicional.
Por cierto, creo que los idiomas estaban en archivos INF.

La cuestión es que... ¿nadie ha usado las herramientas de traducción de Delphi 7? ... De algo servirán, supongo.
Responder Con Cita
  #4  
Antiguo 27-04-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
La cuestión es que... ¿nadie ha usado las herramientas de traducción de Delphi 7? ... De algo servirán, supongo.
En estos Foros es ha tratado alguna vez este tema, aunque, reconozco que si tuviera que empezar la localización de una aplicación con las herramientas del propio Delphi me vería obligado a buscar ejemplos, información, etc.

Lo que sí puedo decir es que hay no pocos intentos de solución para la localización de un programa desarrollado en Delphi: completas librerías de componentes, uso de archivos XML, INI, etc., usar DxGetText... en fin, que por algo debe ser esto también...

Intuyo que a las herramientas de Delphi les falta "algo" que tratan de aportar tantas herramientas como hay para la localización de una aplicación, pienso que sino fuera así, ¿para qué iba nadie a molestarse en reinventar la rueda cuando algo funciona bien?

Pero, ya estoy adelantando más de la cuenta: ya he dicho que no conozco bien cómo se supone que hemos de trabajar con Delphi para localizar aplicaciones: insisto en que en estos Foros se ha tratado sobre el tema. Espero que puedas encontrar más información aquí y en otros sitios.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 27-11-2007
yordan yordan is offline
Miembro
 
Registrado: jul 2007
Posts: 15
Poder: 0
yordan Va por buen camino
GnuGetText y MessageBox

Hola Dec y Todos,
uso el gettext, pero al utilizar un MessageBox tengo algun problemita de tipos aqui, solo me traduce el primer caracter, y es que el tipo que tengo en el MessageBox es PChar, y el tipo de la funcion _() es WideString, luego en mi Messagebos lo tengo así:
IF IDYES = MessageBox(Handle,
PChar(_('Texto del Mensaje?')),
PChar(_('Atención')),...

No sé si está bien pero al menos pude traducirlo y mi .po está ok, funciona bien para un Showmessage, pero no para el MessageBox.

a ver si me dan una mano
gracias

yordan
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Se puede hacer un multi FTP? JuanErasmo Internet 4 08-11-2006 16:38:09
multi tareas????? david_thecid Varios 1 29-04-2006 20:52:35
Matrices Multi-Dimensionales [MDA] bumiga Firebird e Interbase 0 29-04-2005 18:04:32
Multi-navegador Delphius Internet 10 27-07-2004 05:10:08
Base de datos multi área (multi departamento) Al González Conexión con bases de datos 0 19-03-2004 16:27:14


La franja horaria es GMT +2. Ahora son las 00:04:48.


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