Sistema de lenguajes fwH

Sistema de lenguajes fwH

Postby mastintin » Sun Sep 14, 2014 7:51 am

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.
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Sistema de lenguajes fwH

Postby Antonio Linares » Sun Sep 14, 2014 12:06 pm

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 ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Sistema de lenguajes fwH

Postby mastintin » Sun Sep 14, 2014 1:54 pm

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
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Sistema de lenguajes fwH

Postby cnavarro » Mon Sep 15, 2014 2:54 pm

Manuel, cuando en EasyReport no encuentra una(s) palabra(s) da error en AADD
He tenido que añadirlas manualmente en String.Prg
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Sistema de lenguajes fwH

Postby mastintin » Mon Sep 15, 2014 5:01 pm

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
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Sistema de lenguajes fwH

Postby cnavarro » Mon Sep 15, 2014 5:02 pm

Ok, no te preocupes, ahora lo miro y te comento
Espero que sea de vacaciones :D :D :D :D :D :D
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Sistema de lenguajes fwH

Postby cnavarro » Mon Sep 15, 2014 5:27 pm

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

 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Sistema de lenguajes fwH

Postby mastintin » Thu Sep 18, 2014 9:31 pm

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 ?
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Sistema de lenguajes fwH

Postby cnavarro » Thu Sep 18, 2014 9:38 pm

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)
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Sistema de lenguajes fwH

Postby mastintin » Fri Sep 19, 2014 7:31 am

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]
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Sistema de lenguajes fwH

Postby cnavarro » Fri Sep 19, 2014 2:38 pm

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
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Sistema de lenguajes fwH

Postby mastintin » Fri Sep 19, 2014 5:50 pm

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 .
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Sistema de lenguajes fwH

Postby mastintin » Sat Sep 20, 2014 8:38 am

He subido un nuevo código , mas limpio , mas optimizado ...
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Sistema de lenguajes fwH

Postby cnavarro » Sat Sep 27, 2014 3:10 pm

Manuel, según lo veo yo, no debería distinguir entre por ejemplo: "Mi Dialogo" y "mi dialogo"
Qué opinas?
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Sistema de lenguajes fwH

Postby mastintin » Sat Sep 27, 2014 8:10 pm

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 .
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 81 guests