Page 1 sur 1

Traduction via Internet

Publié : dim. 16/août/2015 8:56
par microdevweb
J'ai besoins d'une traduction via internet, mais google translate bloque le retour, et l'utilisation de son Api ne semble pas gratuite. Après plusieurs recherches j'ai trouvé un Api gratuite (à première vue)
http://www.frengly.com
Bon la traduction n'est peu t’être pas du niveau de google translate

Ps=Vous devez vous enregistré avec Sign Up

Code exemple

Code : Tout sélectionner

InitNetwork()
url$ = "http://www.frengly.com/"
url$ + "?src=" + "en"
url$ + "&dest=" +"fr"
url$ +"&text="+URLEncoder("this is a sample text in english")
url$+"&email=votreadresse@XXX.XXX" ;--> renseignez votre adresse
url$+"&password=XXXX" ;--> renseignez votre psw
tempFile$="teste.txt"
If ReceiveHTTPFile(url$, tempFile$)
      If ReadFile(0,tempFile$ )
            ;       Enc=ReadStringFormat(0)
            resul$=ReadString(0,#PB_File_IgnoreEOL|#PB_UTF8)
            response$=StringField(URLDecoder(resul$),2,"<translation>")
            response$=StringField(response$,1,"</translation>")
            Debug response$
            CloseFile(0)
      EndIf
EndIf

Re: Traduction via Internet

Publié : sam. 22/août/2015 9:55
par Ollivier
Bonjour Microdevweb,

merci pour ton astuce.

Re: Traduction via Internet

Publié : sam. 22/août/2015 12:07
par Ar-S
Bonne astuce, par contre après quelques essais, le traducteur est vraiment plus que moyen.

Re: Traduction via Internet

Publié : sam. 22/août/2015 17:44
par El Papounet
Ce n'est pas ce qu'il y a de mieux, mais si ça peut dépanner...
Ne fonctionne que sous Windows mais peut être facilement adapté.

Code : Tout sélectionner

Procedure.s GoogleTranslate(text.s)

	Protected.i n, hFile
	Protected.s sentence, url, tmpFile, google_result, french_result

	If Len(text)
		n = CountString(text, #CRLF$)
		For i = 0 To n
			sentence = StringField(text, i + 1, #CRLF$)
			url = "https://translate.google.com/translate_a/single?client=t&sl=auto&tl=fr&hl=fr&dt=bd&dt=t&dt=ld&dt=rm&ie=UTF-8&oe=UTF-8&q=" + sentence
			tmpFile = Space(1024)
			URLDownloadToCacheFile_(0, url, tmpFile, 1024, 0, 0)
			hFile = OpenFile(#PB_Any, tmpFile)
			If hFile
				google_result = ReadString(hFile, #PB_UTF8)
				CloseFile(hFile)
				DeleteFile(tmpFile)
				french_result.s + Mid(google_result, 5, FindString(google_result, #DQUOTE$ + "," + #DQUOTE$) - 5) + #CRLF$

			EndIf
			
		Next
		french_result = Left(french_result, Len(french_result) - 2)
		ProcedureReturn french_result
		
	EndIf

EndProcedure

Re: Traduction via Internet

Publié : sam. 22/août/2015 18:21
par Ar-S
Bien joué El Papounet