Page 1 of 1

Sistema de lenguajes fwH

PostPosted: Sun Sep 14, 2014 7:51 am
by mastintin
Antonio , he corregido un par de pequeños bugs en el array aStrings y he añadido unas funciones y algunos cambios al sistema multilenguaje de fwh .Los he subido al repositorio , revisalo cuando puedas por favor.

Re: Sistema de lenguajes fwH

PostPosted: Sun Sep 14, 2014 12:06 pm
by Antonio Linares
Manuel,

visto, gracias. Habria que publicar en el foro los elementos que requiran traducción como "Items". No creo que se use la misma palabra en todos los idiomas que soportamos.

Quieres que lo pregunte yo ?

Re: Sistema de lenguajes fwH

PostPosted: Sun Sep 14, 2014 1:54 pm
by mastintin
Creo que lo primero sería subir los cambios realizados en strings.prg a la distribución fwh para la próxima versión .
Las palabras específicas de ereport dejarlas en el archivo ini por lo menos hasta tener más completó el desarrollo de ereport , eso si ir completando la traducción luego comparar posibles repeticiones y por último decidir que merece la pena pasar a strings.prg y que dejar en el ini

Re: Sistema de lenguajes fwH

PostPosted: Mon Sep 15, 2014 2:54 pm
by cnavarro
Manuel, cuando en EasyReport no encuentra una(s) palabra(s) da error en AADD
He tenido que añadirlas manualmente en String.Prg

Re: Sistema de lenguajes fwH

PostPosted: Mon Sep 15, 2014 5:01 pm
by mastintin
cnavarro wrote:Manuel, cuando en EasyReport no encuentra una(s) palabra(s) da error en AADD
He tenido que añadirlas manualmente en String.Prg

Esas palabras deberían añadírse automáticamente en el archivo fwstrings.ini ...
Igual he metido algún bug ... Mira a ver si se añaden por favor .estoy fuera y no lo puedo mirar yo
Una manera de chequearlo es coloca un nuevo menú con un nombre extraño y compila ... Tiene que añadir la palabra al final del ini . Si no lo hace ese es el problema . Si lo hace tiene que recargar astring y añadir fwstrings.ini ... Tendremos qué revisar el proceso

Re: Sistema de lenguajes fwH

PostPosted: Mon Sep 15, 2014 5:02 pm
by cnavarro
Ok, no te preocupes, ahora lo miro y te comento
Espero que sea de vacaciones :D :D :D :D :D :D

Re: Sistema de lenguajes fwH

PostPosted: Mon Sep 15, 2014 5:27 pm
by cnavarro
Manuel, solucionado (creo, ya le echarás un vistazo)
El problema estaba en que no se inicializaba la variable como array

Code: Select all  Expand view

function ER_LoadStrings( cFileName )

   local cLine, n := 1
   local aLanguage := {}      // aqui estaba solo => local aLanguage

 

Re: Sistema de lenguajes fwH

PostPosted: Thu Sep 18, 2014 9:31 pm
by mastintin
Buenas a todos.
Cristobal , estos dias he estado pensando un poco lo de los cambios en el archivo string.prg ....
Quizas debamos pensar como queremos que funcione exactamente el sistema de lenguajes en fwh.
Ahora lo que hacemos es cargar el array aStrings y si tenemos un archivo externo de palabras añadirlo a este .
Quizas sea mejor hacer un control por separado ( en dos arrays). Tenemos en el código del prg astrings que es invariable y luego tenemos otro array que se genera con las palabras del archivo eXterno ( si existe ) . La función fwString( ) mira en aStrings si la palabra existe , sino existe mira si se ha cargado el otro array y la busca en ese ( solo si ese array esta cargado) si no la encuentra nos da la opción de añadirla , la graba en el fichero ini y se recarga este segundo array .... Esto nos permite ir añadiendo las nuevas palabras y las nuevas traducciones en el archivo externo fácilmente . Esto da la flexibilidad de poder tener unas palabras genéricas en el código y las especificas de un programa en el archivo externo .
¿ Como lo ves ? . ¿ como lo harias tu ?

Re: Sistema de lenguajes fwH

PostPosted: Thu Sep 18, 2014 9:38 pm
by cnavarro
Hola Manuel
Bien, me parece lógico y práctico
De esta manera no recargamos excesivamente la memoria, y podemos tener ficheros de configuracion distintos para cada aplicacion (bastaría con no incluir en el directorio de instalacion inicialmente el fichero externo), o al revés, añadirlo en cada nueva aplicacion y se iría enriqueciendo progresivamente
¿Te he entendido bien?

Lo que sería importante es controlar que no exista en los dos arrays a la vez (sé que en principio parece difícil que esto ocurra, pero no imposible)

Re: Sistema de lenguajes fwH

PostPosted: Fri Sep 19, 2014 7:31 am
by mastintin
cnavarro wrote:Lo que sería importante es controlar que no exista en los dos arrays a la vez (sé que en principio parece difícil que esto ocurra, pero no imposible)

Se puede hacer , e incluso se puede borrar del archivo de texto la palabra repetida, lo importante es determinar en que momento es mejor llevar a cabo el proceso para no relentizar todo .
Un momento bueno seria en el momento de carga del fichero al array ,pero relentizaría la carga inicial del programa .
Otra opción es comprobarlo según se utilicen las palabras ... en fwstring() se cargan los dos arras al completo se comprueba en el primero ( astrings) si se encuentra la palabra , se mira si existe el segundo array y si existe esa palabra en este segundo , si existe se borra del archivo y se elimina del array .
Una posible mejora también sería que este nuevo array no fuera un array sino un Hash cuya clave sea la palabra en ingles , esto daría velocidad pues creo que los hash son mucho mas rápidos que los arrays y esa comprobación seria creo que directa , el problema es que yo no me manejo muy bien con ellos aún solo lo básico .
¿ Si ponemos un código aquí hecho en arras , alguien lo puede optimizar usando hash ?

[/code]

Re: Sistema de lenguajes fwH

PostPosted: Fri Sep 19, 2014 2:38 pm
by cnavarro
mastintin wrote:Otra opción es comprobarlo según se utilicen las palabras ... en fwstring() se cargan los dos arras al completo se comprueba en el primero ( astrings) si se encuentra la palabra , se mira si existe el segundo array y si existe esa palabra en este segundo , si existe se borra del archivo y se elimina del array .
[/code]


Totalmente de acuerdo
Lo del hash lo dejaremos para más adelante, te parece?, o si cuando publiques el código, alguien se anima a echar una mano, bienvenido sea

Re: Sistema de lenguajes fwH

PostPosted: Fri Sep 19, 2014 5:50 pm
by mastintin
Cristobal ,Antonio he subido al repositorio un nuevo código , esta sin limpiar pero es para ver si funciona correcto . Es una primera aproximación que seguro se puede pulir mas . Usa el array de siempre para las palabras "fijas" ( definido en el prg ) y un hash para cargar las palabras del fichero externo , si por lo que sea se añade una nueva palabra al programar esta se añade automáticamente al fichero en el primer lanzamiento . En un segundo lanzamiento cuando ya esta incorporada al fichero , si detecta que no tiene traducción al idioma que se esta usando pregunta por su traducción y se añade esta al fichero ...
A ver como lo veis , si funciona bien pasamos a limpiar código .

Re: Sistema de lenguajes fwH

PostPosted: Sat Sep 20, 2014 8:38 am
by mastintin
He subido un nuevo código , mas limpio , mas optimizado ...

Re: Sistema de lenguajes fwH

PostPosted: Sat Sep 27, 2014 3:10 pm
by cnavarro
Manuel, según lo veo yo, no debería distinguir entre por ejemplo: "Mi Dialogo" y "mi dialogo"
Qué opinas?

Re: Sistema de lenguajes fwH

PostPosted: Sat Sep 27, 2014 8:10 pm
by mastintin
cnavarro wrote:Manuel, según lo veo yo, no debería distinguir entre por ejemplo: "Mi Dialogo" y "mi dialogo"
Qué opinas?

Yo creo que debería distinguirlo .