Fórum Alternativa de tradução do Google #453170

26/08/2013

0

Pessoal, fiz uma ferramenta parte dela é tradução do Google. Ter a tradução da palavra é tranquila, mas eu gostaria de pegar as palavras de alternativa de tradução também. Por exemplo: Se traduzir a palavra "Mãe" do português para o Inglês, o Google Translator exibe como tradução "mother", mas também exibe como alternativas de tradução "mother", "mum", "old lady", "old womam", "venter".
Esse é o texto que eu gostaria de pegar.
Alguma dica?

Para fazer a tradução eu uso o seguinte código:


1
 

//uses IdHTTP, HTTPApp


//função para traduzir
function translate(ss,lng1, lng2:string):string;
var
s:string;
a,b:integer;
http:TIdHTTP;
begin
//cria um componente TIdHttp(usando o Indy)
http:= TIdHTTP.Create;
try
//Efetua um get passando como parametros
//o texto e o par de idiomas
s := http.Get('http://translate.google.com/translate_t?text='
+ httpencode(ss) + '&sl=' + lng1 + '&tl=' + lng2);
//pega o texto traduzido na resposta "s"(html com a resposta)

//onmouseout="this.style.backgroundColor=''#fff''">
//</span></span>'

a := PosEx ('>' ,s ,pos('id=result_box',s));
b := PosEx('</div>' ,s ,a);
//e retorna
result := copy(s, a+1, b-a-1);

{removo as ultimas tags}
a := PosEx ('>', Result, Pos('onmouseout="this.style.backgroundColor=''#fff''', Result));
b := PosEx('</span></span>' ,Result);
//e retorna
result := copy(Result, a+1, b-a-1);
finally
http.Free;
end;
end;

1
 


Obrigado =)
Aesmo

Aesmo

Responder

Posts

26/08/2013

Wilson Oliveira

A página usa ajax, e faz varias outras chamadas, ou child requests:

http://translate.google.com.br/
http://translate.google.com.br/translate/releases/twsfe_w_20130819_RC02/r/css/desktop_ltr.css
http://lh5.googleusercontent.com/-C6uCxhRYvTI/AAAAAAAAAAI/AAAAAAAAAAA/Um1alMRjGYA/s27-c/photo.jpg
http://ssl.gstatic.com/gb/images/k1_a31af7ac.png
http://ssl.gstatic.com/translate/buttons10.png
http://translate.google.com.br/translate/releases/twsfe_w_20130819_RC02/r/js/desktop_module_main.js
http://translate.google.com.br/translate/releases/twsfe_w_20130819_RC02/r/js/desktop_module_async.js
http://translate.google.com.br/translate/releases/twsfe_w_20130819_RC02/r/js/desktop_module_lazy.js
http://www.google.com/jsapi?key=internal-translate&callback=_loadinputtoolcb
http://translate.google.com.br/translate_a/t?client=t&sl=pt&tl=en&hl=pt-BR&sc=2&ie=UTF-8&oe=UTF-8&ssel=0&tsel=0&q=mam%C3%A3e
http://translate.google.com.br/gen204?ttsaudio=mp3=1,ogg=1,wav=1,vol=1
http://translate.google.com.br/gen204?hready=hl=pt-BR,sl=pt,tl=en,slh=pt%7Cen,tlh=en%7Cpt,soph=0,ql=5,ttnc=580,uetrans=1,eotf=1
http://www.google.com/uds/?file=elements&v=1&packages=inputtools&async=2
http://ssl.gstatic.com/ui/v1/disclosure/small-grey-disclosure-arrow-down.png
http://csi.gstatic.com/csi?v=3&s=translate&action=at&it=st.12&srt=831&tran=16&sl=pt&tl=en&size=10&e=31216&rt=prt.355,ol.363
http://translate.google.com.br/gen204?ftrans=ttl=234,ttt=929
http://www.google.com/uds/api/elements/1.0/3eced193c1ab3ba305519598439ccaef/inputtools.css
http://www.google.com/uds/api/elements/1.0/3eced193c1ab3ba305519598439ccaef/inputtools.I.js
http://translate.google.com.br/gen204?jserr=e%3DUncaught%20TypeError%3A%20Cannot%20convert%20null%20to%20object%2Curl%3Dhttp%3A%2F%2Ftranslate.google.com.br%2Ftranslate%2Freleases%2Ftwsfe_w_20130819_RC02%2Fr%2Fjs%2Fdesktop_module_main.js%2Cline%3D50%2Ccount%3D1
http://csi.gstatic.com/csi?v=3&s=translate&action=t&it=wtsrt_.795,tbsd_.2519,tbnd_.1&srt=3314&tran=16&sl=pt&tl=en&size=5&e=31216,gbar2,31216,3700169&rt=ol.13
http://ssl.gstatic.com/inputtools/js/config/49160274.js
http://ssl.gstatic.com/inputtools/js/kbd/1/pt_br.js
http://ssl.gstatic.com/inputtools/js/kbd/1/pt_pt.js
http://ssl.gstatic.com/inputtools/js/kbd/1/us_intl.js
http://ssl.gstatic.com/inputtools/js/ln/7/pt-BR.js
http://ssl.gstatic.com/inputtools/js/msgs/5/pt-BR.js
http://ssl.gstatic.com/gb/js/sem_ef50cf00b07b5dc8676d5e41a2e96900.js
http://translate.google.com.br/gen204?trans=confSum=966,numLowConf=0,numPhrases=1,cB19=1,sl=pt,tl=en,otext=mam%C3%A3e,ttext=mom
http://translate.google.com.br/gen204?althighlight=1


A chamada que retorna essa informação é a seguinte, para a palavra mamãe.

http://translate.google.com.br/translate_a/t?client=t&sl=pt&tl=en&hl=pt-BR&sc=2&ie=UTF-8&oe=UTF-8&ssel=0&tsel=0&q=mam%C3%A3e

Espero ter ajudado

Responder

Gostei + 0

03/09/2013

Aesmo

Eu tentei :

// s := http.Get('http://translate.google.com.br/translate_a/t?client=t&'+
// 'sl='+ lng1 + '&tl=' + lng2 +
// '&hl=pt-BR&sc=2&ie=UTF-8&oe=UTF-8&ssel=0&tsel=0&q=' + HTTPEncode(ss));

e apenas consegui isso como resposta:

"[[["M ? And","M?E","",""]],,"pt",,[["M",[4],1,0,618,0,1,0],["?",[5],0,0,618,1,2,0],["And",[6],1,0,713,2,3,0]],[["M",4,[["M",618,1,0],["Rated",0,1,0],["Square",0,1,0]],[[0,1]],"M?E"],["?",5,[["?",618,0,0]],[[1,2]],""],["E",6,[["And",713,1,0],["E",286,1,0]],[[2,3]],""]],,,[["haw","mi","ms","id","no"]],8]"

Teria alguma exemplo que pudesse me mostrar? De qualquer forma, obrigado pela tentativa.
Responder

Gostei + 0

05/09/2013

Wilson Oliveira

Você ta usando três variáveis para formar a requisição , lang1, lang2 e o texto a ser traduzido.

Pela resposta você solicitou a tradução do português para o inglês da palavra "M?E" , o ideal seria verificar se a construção da requisicão esta correta.

Olhando por cima, primeira parte entre colchetes, a palavra a traduzir e a traduzida, segundo colchete, todas as opções de tradução, em seguida cada opção seguida da tradução ideal desta opção.

Qual palavra você usou para teste? Vamos verificar se a sua requisição está sendo bem formada.

abcs
Responder

Gostei + 0

13/09/2013

Aesmo

RESOLVIDO!

Realmente sua dica estava certa. O erro foi minha conversão de "Mãe".
Muito obrigado novamente.
Responder

Gostei + 0

22/09/2013

Aesmo

Poderia apenas me dizer como vc pegou as solicitações (url) que o Google fez?
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar