|
Se me fue el dedo
:-)
Olvidaba otra
posible ventaja de la implementaci�n que propongo: Cuando un literal puede ser
variable ( por ejemplo: 'F15: Ver seleccionados' / 'F15: Ver todos' ), se debe
hacer bastante engorroso tratar esto con un archivo de mensajes (quiz�
definiendo N campos condicionados por indicador, opci�n que nunca me ha
gustado), mientras que si en el fichero de descripciones incluyes un campo
'opci�n' , puedes definir un literal con N valores, en funci�n de dicho
campo, con lo que la gesti�n de literales variables se hace muy
sencilla.
Si me permit�s
opinar, yo prefiero tener un fichero de descripciones por idiomas con un
idioma por defecto y cargar campos de pantalla tradicionales con las
descripciones del fichero en el idioma correspondiente. Esto da un poco m�s de
trabajo a la hora de cargar las descripciones en pantalla (aunque creando un
programa de servicio con las funciones necesarias se minimiza este trabajo),
pero facilita el control de los literales que faltan por traducir en el resto
de idiomas ( con un sql lo tendr�as), y adem�s permite el uso de un idioma
'por defecto', para posibles literales independientes del idioma ( adem�s, de
esta forma, si un literal no est� traducido a un
idioma podemos hacer que en ese caso salga en el idioma por
defecto. Usando los mensajes, si uno no est� definido en el correspondiente
idioma saldr� en blanco <� o se producir� un error ?
>)
De cara a una
posible aplicaci�n de mantenimiento de las descripciones veo tambi�n m�s f�cil
realizarla si �stos est�n en un fichero que si est�n en x archivos de
mensajes.
Este montaje
funciona de maravilla, de hecho nosotros lo tenemos montado de manera que
podemos cambiar los textos de las pantallas en el momento de estar
ejecutando la aplicaci�n pulsando una tecla de funci�n sobre el texto. El
montaje es un poco sofisticado pero el resultado es excelente y se pueden
soportar m�ltiples idiomas simult�neamente eligiendo el usuario en cual
quiere trabajar en cualquier momento. Y todo esto sin compilaciones o
intervenciones externas al propio usuario. Claro todo esto esa controlado
por seguridad para que no te "desgracie" la aplicaci�n cualquier
manitas.
De:
[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
En nombre de Guillermo
Andrades Enviado el:
jueves, 29 de enero de 2004 12:23 Para:
[EMAIL PROTECTED] Asunto: RE: Delegaciones y
multilenguajes
puedes montarlo
simplemente haciendo que los literales de pantalla en lugar de ser
constantes sean mensajes.
por ejemplo, en
lugar de una linea DDS como esta
A
05 03'Fecha de Aviso........'
escribes una como
esta A
MM0020954
22 05 03 MSGID(DSP0170
LITERALES)
en la
biblioteca de programas (p.e.) creas un fichero de mensajes
LITERALES con CRTMSGD, y con WRKMSGD a�ades los mensajes, en este caso el
DSP0170.
a la hora de
ejecutar el pgm la bib de programas esta en la libl, de forma que encuentra
el MSGF LITERALES y el literal se ve en el idioma por
omision.
ahora para tener un
segundo idioma crear un MSGF LITERALES en la biblioteca LITENG (Literales
English), y creas los mismos codigos de mensajes (DSP0170 en este
caso) traducido.
en el CL que llama
al pgm que inicia la aplicacion, simplemente debes asegurarte que la
biblioteca LITENG (o el idioma que sea) este antes que ninguna (*FIRST,
CUR).
el funcionamiento
es transparente, incluso se pueden cambiar los mensajes con WRKMSGD y al
siguiente pantallazo se visualiza el nuevo texto.
(lo del MM0020954
es simplemente un id diferenciador por cada mensaje, auiza no de error si no
se hace asi, pero es que en nuestro caso lo genera auto una utilidad wur
usamos).
Saludos, Guillermo
Andrades CPI Software http://www.cpis.es http://www.RpgForWeb.com
-----Mensaje
original----- De:
[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
En nombre de Juan
Antonio Enviado el: jueves,
29 de enero de 2004 10:55 Para: Forum Asunto: Re: Delegaciones y
multilenguajes
�Tendr�as alg�n ejemplo para ver
este montaje?
En cuanto a soft ya existente
que comentas �conoces alguno para ver costes etc?.
----- Original Message -----
Sent:
Friday, January 23, 2004 3:11 PM
Subject: RE:
Delegaciones y multilenguajes
Utiliza los
MSGID, no tienes que recompilar y luego montate una peque�a aplicacion
para su mantenimiento. Funciona muy bien.
-----Original
Message----- From: Juan
Antonio [mailto:[EMAIL PROTECTED] Sent: 23 January 2004
14:36 To: [EMAIL PROTECTED] Subject: Re: Delegaciones y
multilenguajes
Claro, lo que se pretende es
que el posterior mantenimiento de esta aplicaci�n tamb�en sea f�cil y
de poco coste. El hecho de no tener que recompilar infinidad de veces y
que sea algo que se pudiera tratar como si las constantes fueran
variables.
----- Original Message -----
Sent:
Friday, January 23, 2004 1:10 PM
Subject: RE:
Delegaciones y multilenguajes
si te refieres
a programas "tradicionales" con DDS de pantalla/impresora, puedes usar
MSGID o MSGCON en lugar de literales/constantes, y asi es facil traducir
los mensajes y usar uno o otro MSGF segun el
idioma.
en el caso de
msgid es transparente, en el caso de msgcon se deben compilar las dds
con cada idioma (p.e. quiza en listados).
otra forma es
usar una rutina que lea los mensajes de un MSGF, o incluso un fichero, y
moverlos a campos de trabajo que es lo que se imprime (en pantallas es
facil usar msgid).
solo una idea,
hay otras formas, incluso productos, pero si la aplicacion es nueva lo
del msgid puede ser buena idea.
Saludos, Guillermo Andrades CPI
Software http://www.cpis.es http://www.RpgForWeb.com
-----Mensaje
original----- De:
[EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] En nombre de Juan
Antonio Enviado el:
viernes, 23 de enero de 2004 11:30 Para: Forum Asunto: Delegaciones y
multilenguajes
Necesitar�a conocer
sugerencias o forma f�cil de realizar, pros y contras, posibles
problemas que puedo encontrar o costes adicionales para la realizaci�n
de una aplicaci�n que contemple posibles idiomas seg�n actuales y
futuras delegaciones.
Se tratar�a a nivel de
interfaz de usuario final e impresos.
Este correo electr�nico y los documentos que lo acompa�an, pueden
contener informaci�n reservada y/o confidencial dirigida exclusivamente
al destinatario. Si Vd. no es el destinatario, no est� autorizado a copiar
o distribuir esta comunicaci�n a ninguna otra persona. Si ha recibido este
correo electr�nico por error, le rogamos que nos lo devuelva mediante reenv�o
a la direcci�n electr�nica del remitente, y lo elimine de su sistema.
Gracias por su colaboraci�n.
------------------------------------
The information in this e-mail and in any attachments is confidential
and solely for the attention and use of the named addressee(s). If you
are not the addressee indicated in this message, you may not copy or
deliver this message to anyone. If you have received this communication
by error, please, notify the sender by reply e-mail and destroy this
message. Thank you very much for your help.
|
|