FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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. |
#2
|
||||
|
||||
Hola,
Cita:
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. Última edición por dec fecha: 25-04-2007 a las 14:08:50. |
#3
|
||||
|
||||
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. |
#4
|
||||
|
||||
Hola,
Cita:
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. |
#5
|
|||
|
|||
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 |
|
|
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 |
|