74 lines
1.9 KiB
Plaintext
74 lines
1.9 KiB
Plaintext
CLOSE DATABASES
|
|
SET DELETED ON
|
|
SET CENTURY on
|
|
SET ANSI ON
|
|
SET EXACT ON
|
|
*!* SET DEFAULT TO "d:\roa_trunk\roastart\locale"
|
|
USE locale IN 0 SHARED
|
|
|
|
*Use test
|
|
oGt = Createobje("ugt") && ,"google.prg")
|
|
|
|
SELECT locale
|
|
Scan For Language='English' AND !translated
|
|
*!* ?oGt.translate("ro","en",cuvant)
|
|
lcPhrase = ALLTRIM(phrase)
|
|
IF RIGHT(lcPhrase,1) = '*'
|
|
lcPhrase = LEFT(lcPhrase, LEN(lcPhrase) - 1)
|
|
ENDIF
|
|
lcTranslated = oGt.translate("ro","en",lcPhrase)
|
|
IF !EMPTY(lcTranslated)
|
|
Replace phrase With lcTranslated , translated WITH .T.
|
|
ENDIF
|
|
ENDSCAN
|
|
|
|
Select locale
|
|
Browse
|
|
Define Class ugt As Custom
|
|
* apiUrl = "http://translate.google.com/translate_t?&"+"hl=en&"+"ie=UTF8"
|
|
apiUrl = "http://translate.google.com/translate_t?"
|
|
*!* apiStartTags = "<"+"div id=result_box dir=ltr>"
|
|
apiStartTags = [<div id=result_box dir="ltr">]
|
|
apiEndTags = "<"+"/div>"
|
|
Function translate(lcFrom,lcTo,lcText)
|
|
Local lcHttp As MSXML2.XMLHTTP
|
|
Local lcRequest As String
|
|
lcRequest = This.apiUrl+"langpair="+This.urlEncode(lcFrom+"|"+lcTo)+"&"+"text="+This.urlEncode(lcText)
|
|
lcHttp = Createobject("MSXML2.XMLHTTP")
|
|
*!-- lcHttp.open("GET",this.apiUrl,.f.)
|
|
lcHttp.Open("GET",lcRequest,.F.)
|
|
lcHttp.Send()
|
|
*!* DEBUG
|
|
*!* SUSPEND
|
|
If lcHttp.Status == 200
|
|
lcText = Strextract(lcHttp.responseText,This.apiStartTags,This.apiEndTags)
|
|
Endif
|
|
Return lcText
|
|
Endfunc
|
|
|
|
Function urlEncode
|
|
Parameters tcValue, llNoPlus
|
|
Local lcResult, lcChar, lnSize, lnX
|
|
|
|
*** Do it in VFP Code
|
|
lcResult=""
|
|
|
|
For lnX=1 To Len(tcValue)
|
|
lcChar = Substr(tcValue,lnX,1)
|
|
If Atc(lcChar,"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") > 0
|
|
lcResult=lcResult + lcChar
|
|
Loop
|
|
Endif
|
|
If lcChar=" " And !llNoPlus
|
|
lcResult = lcResult + "+"
|
|
Loop
|
|
Endif
|
|
*** Convert others to Hex equivalents
|
|
lcResult = lcResult + "%" + Right(Transform(Asc(lcChar),"@0"),2)
|
|
Endfor
|
|
|
|
Return lcResult
|
|
Endfunc
|
|
Enddefine
|
|
|