FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error en FW_TransLang
Posts: 162
Joined: Tue Feb 03, 2009 10:08 PM
Error en FW_TransLang
Posted: Sun Jun 28, 2020 01:36 PM

Buenos días Foro

Donde puedo encontrar ftranslate.prg.

Con textos de varios párrafos, me genera el siguiente error:

Error description: Error BASE/1068 Error de argumento: acceso al array
Args:
[ 1] = U
[ 2] = N 1

Stack Calls

Called from: .\source\internal\FTRANSLATE.PRG => FW_TRANSLANG( 57 )
Called from: .._fw_traductor_free.prg => (b)MAIN( 216 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK( 697 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP( 983 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1791 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT( 2006 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3546 )
Called from: => DIALOGBOXINDIRECTW( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 304 )
Called from: .._fw_traductor_free.prg => MAIN( 251 )

J. Ernesto Pinto Q.
Fwh_x64 2501, BCC++_x64 7_70 , Harbour 3.20, LopeEdit 5.8
jepsys@hotmail.com, jepsys@gmail.com

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Error en FW_TransLang
Posted: Sun Jun 28, 2020 02:37 PM

La function la desarrollé y de momento no está el código disponible.
Cual es el origen del texto que estás pasando a la function?
En qué terminan las líneas, en Chr( 10 ) o en CRLF ?

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
Posts: 162
Joined: Tue Feb 03, 2009 10:08 PM
Re: Error en FW_TransLang
Posted: Sun Jun 28, 2020 09:05 PM

Cristobal, buenas tardes

Estoy tomando textos desde word y desde correos.

J. Ernesto Pinto Q.
Fwh_x64 2501, BCC++_x64 7_70 , Harbour 3.20, LopeEdit 5.8
jepsys@hotmail.com, jepsys@gmail.com

Posts: 162
Joined: Tue Feb 03, 2009 10:08 PM
Re: Error en FW_TransLang
Posted: Sun Jun 28, 2020 09:12 PM

Cristobal. Este es un fragmento de un texto cualquiera donde aparece el error:

Windows, como cualquier otro sistema operativo, nos permite crear nuevos directorios, lo que conocemos como carpetas, para organizar y guardar los datos que queramos. El sistema operativo nos permite dar a estas carpetas el nombre que queramos. Sin embargo, Windows no nos deja usar determinados caracteres a la hora de crear la nueva carpeta, así como tampoco nos deja, por ejemplo, empezar el nombre de la nueva carpeta por un punto. Aunque esta última limitación se puede saltar con relativa facilidad.

En Linux, un punto al principio de un archivo o una carpeta significa que la carpeta o el archivo está oculto. Sin embargo, en Windows no hace nada.

Microsoft sí que deja usar un punto al nombrar archivos o carpetas del sistema operativo, pero la única condición es que haya texto antes y después de dicho punto. Por lo tanto, en condiciones normales, un nombre de un archivo o de carpeta ni puede empezar en punto ni acabar en punto. Esto se debe a que, generalmente, Microsoft interpreta el punto como parte de una extensión de archivo.

J. Ernesto Pinto Q.
Fwh_x64 2501, BCC++_x64 7_70 , Harbour 3.20, LopeEdit 5.8
jepsys@hotmail.com, jepsys@gmail.com

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Error en FW_TransLang
Posted: Mon Jun 29, 2020 09:43 AM
Ernesto, prueba de esta manera, antes de enviarlo.


cString := StrTran( cString, CRLF, "####" )
cString := StrTran( cString, Chr( 10 ), CRLF )
cString := StrTran( cString, "####", CRLF )


Aunque creo que el problema es que han actualizado el API y el formato de devolución de la respuesta, si así te sigue fallando revisaré la function.
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
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Error en FW_TransLang
Posted: Wed Jul 01, 2020 06:24 AM
J. Ernesto wrote:Cristobal. Este es un fragmento de un texto cualquiera donde aparece el error:

Windows, como cualquier otro sistema operativo, nos permite crear nuevos directorios, lo que conocemos como carpetas, para organizar y guardar los datos que queramos. El sistema operativo nos permite dar a estas carpetas el nombre que queramos. Sin embargo, Windows no nos deja usar determinados caracteres a la hora de crear la nueva carpeta, así como tampoco nos deja, por ejemplo, empezar el nombre de la nueva carpeta por un punto. Aunque esta última limitación se puede saltar con relativa facilidad.

En Linux, un punto al principio de un archivo o una carpeta significa que la carpeta o el archivo está oculto. Sin embargo, en Windows no hace nada.

Microsoft sí que deja usar un punto al nombrar archivos o carpetas del sistema operativo, pero la única condición es que haya texto antes y después de dicho punto. Por lo tanto, en condiciones normales, un nombre de un archivo o de carpeta ni puede empezar en punto ni acabar en punto. Esto se debe a que, generalmente, Microsoft interpreta el punto como parte de una extensión de archivo.


I am able to translate this text into Spanish.
Windows, como cualquier otro sistema operativo, nos permite crear nuevos directorios, lo que conocemos como carpetas, para organizar y guardar los datos que queremos. El sistema operativo nos permite dar a estas carpetas el nombre que queremos. Sin embargo, Windows no nos permite usar ciertos caracteres al crear la nueva carpeta, ni nos permite, por ejemplo, comenzar el nombre de la nueva carpeta con un punto. Aunque esta última limitación se puede omitir con relativa facilidad. .

En Linux, un punto al comienzo de un archivo o carpeta significa que la carpeta o el archivo está oculto. Sin embargo, en Windows no hace nada. .

Microsoft permite que se use un punto al nombrar archivos o carpetas del sistema operativo, pero la única condición es que haya texto antes y después de ese punto. Por lo tanto, en condiciones normales, el nombre de un archivo o carpeta no puede comenzar en un punto o terminar en un punto. Esto se debe a que Microsoft generalmente interpreta el período como parte de una extensión de archivo. .


I have also translated to a Unicode language and it translated perfectly.
విండోస్, ఇతర ఆపరేటింగ్ సిస్టమ్ మాదిరిగానే, క్రొత్త డైరెక్టరీలను సృష్టించడానికి, ఫోల్డర్లుగా మనకు తెలిసినవి, మనకు కావలసిన డేటాను నిర్వహించడానికి మరియు సేవ్ చేయడానికి అనుమతిస్తుంది. ఆపరేటింగ్ సిస్టమ్ ఈ ఫోల్డర్లకు మనకు కావలసిన పేరు ఇవ్వడానికి అనుమతిస్తుంది. అయినప్పటికీ, క్రొత్త ఫోల్డర్‌ను సృష్టించేటప్పుడు కొన్ని అక్షరాలను ఉపయోగించడానికి విండోస్ అనుమతించదు, లేదా క్రొత్త ఫోల్డర్ పేరును కాలంతో ప్రారంభించడానికి ఇది అనుమతించదు. ఈ చివరి పరిమితిని సాపేక్ష సౌలభ్యంతో దాటవేయవచ్చు. .

Linux లో, ఫైల్ లేదా ఫోల్డర్ ప్రారంభంలో ఒక చుక్క అంటే ఫోల్డర్ లేదా ఫైల్ దాచబడి ఉంటుంది. అయితే, విండోస్‌లో అది ఏమీ చేయదు. .

ఆపరేటింగ్ సిస్టమ్ ఫైల్స్ లేదా ఫోల్డర్‌లకు పేరు పెట్టేటప్పుడు మైక్రోసాఫ్ట్ ఒక పాయింట్‌ను ఉపయోగించడానికి అనుమతిస్తుంది, కానీ ఒకే షరతు ఏమిటంటే, ఆ సమయానికి ముందు మరియు తరువాత టెక్స్ట్ ఉంది. అందువల్ల, సాధారణ పరిస్థితులలో, ఫైల్ లేదా ఫోల్డర్ పేరు పాయింట్‌పై ప్రారంభం కాదు లేదా పాయింట్‌పై ముగుస్తుంది. మైక్రోసాఫ్ట్ సాధారణంగా ఫైల్ ఎక్స్‌టెన్షన్‌లో భాగంగా ఈ కాలాన్ని వివరిస్తుంది. .


The translation is perfect.

I split the entire text into paragraphs and each paragraph into sentences programmatically. I translated each sentence and re-assembled the results into paragraphs and into full text.

But when I tried to repeat more times, I started getting the same errors as pointed out above. I have a feeling that there is a limitation on the number of times we can use this API from a particular IP Address in a day.

When I changed my internet connection to a different provider, I could do the transalatios again.
Regards



G. N. Rao.

Hyderabad, India
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Error en FW_TransLang
Posted: Wed Jul 01, 2020 07:20 AM

Mr Rao, provide your prg used for test it

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
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Error en FW_TransLang
Posted: Wed Jul 01, 2020 12:22 PM
Code (fw): Select all Collapse
function TestTranslate()

   local cText, aText, aTran, cTran
   local i, j
   local cLangFrom := "en"
   local cLangTran := "te" // "es"

   FW_SetUnicode( .t. )

   cText    := HB_MEMOREAD( "ENGLISH.TXT" )
   FW_MEMOEDIT( cText )

   aText    := HB_ATokens( cText, CRLF )
   AEval( aText, { |c,i| If( Empty( c ),,aText[ i ] := HB_ATokens( c, "." )) } )

   aTran    := {}

   for i := 1 to Len( aText )

      if Empty( aText[ i ] )
         AAdd( aTran, CRLF )
      else
         cTran := ""
         for j := 1 to Len( aText[ i ] )
            cTran += " " + FW_TransLang( AllTrim( aText[ i, j ] ) + ".", cLangFrom, cLangTran,  )
         next
         AAdd( aTran, LTrim( cTran ) + CRLF )
      endif

   next i

   cTran := ""
   AEval( aTran, { |c| cTran += c } )

   FW_MEMOEDIT( cTran )

return nil


The file english.txt is what is copied from the above post and saved in ANSI.
Regards



G. N. Rao.

Hyderabad, India
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Error en FW_TransLang
Posted: Wed Jul 01, 2020 04:50 PM
nageswaragunupudi wrote:
The translation is perfect.
But when I tried to repeat more times, I started getting the same errors as pointed out above. I have a feeling that there is a limitation on the number of times we can use this API from a particular IP Address in a day.

When I changed my internet connection to a different provider, I could do the transalatios again.


Sí, efectivamente, ese ha sido siempre una limitación del acceso al Translate de Google, cuando no se accede a través de su API.
De todas formas, voy a modificar la function para que no dé error de ejecución, aunque devuelva la cadena en blanco.
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
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Error en FW_TransLang
Posted: Thu Jul 02, 2020 03:14 AM
Sí, efectivamente, ese ha sido siempre una limitación del acceso al Translate de Google, cuando no se accede a través de su API.
De todas formas, voy a modificar la function para que no dé error de ejecución, aunque devuelva la cadena en blanco.


More important, please advise how to get over the limit.
Regards



G. N. Rao.

Hyderabad, India
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Error en FW_TransLang
Posted: Thu Jul 02, 2020 10:31 AM

This is not possible without using the GTranslate API.

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
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Error en FW_TransLang
Posted: Thu Jul 02, 2020 10:35 AM
cnavarro wrote:This is not possible without using the GTranslate API.

Can you please guide us in the right direction please?
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion