Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Usar GoogleTradutor no delphi


Fr33dom
 Compartilhar

Posts Recomendados

Vou postar aqui o code para quem quiser usar / estudar um pouco.

 

Adicionar :

 

  • 2 TComboBox ( cbxIdiomaOrigem, cbxIdiomaDestino ) // alterar para estes nomes
  • 2 TMemo ( mmoOrigem, mmoDestino ) // alterar para estes nomes
  • Botão

 

Colocar na uses do programa : IdHTTP, HTTPApp, StrUtils

 

Adicionar este código no botão :

 

procedure TForm1.TraduzirClick(Sender: TObject);

//função para traduzir

function translate(ss,lng1, lng2:string):string;

var s:widestring;

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('

É necessário se cadastrar para acessar o conteúdo.

+httpencode(ss)+'&sl='+lng1+'&tl='+lng2);

//pega o texto traduzido na resposta "s"(html com a resposta)

a:=posex('>',s,pos('id=result_box',s));

b:=posex('</div>',s,a);

//e retorna

result:=copy(s,a+1,b-a-1);

finally

http.Free;

end;

end;

var lng1, lng2: String;

begin

//verifica se os 2 idiomas estão selecionados

if (cbxIdiomaDestino.ItemIndex =-1) or

(cbxIdiomaOrigem.ItemIndex = -1) then

raise Exception.Create('Escolha o Idioma de origem e Destino');

 

//pega os idiomas dos Combos

lng1 := PCHAR(Integer(cbxIdiomaOrigem.Items.Objects[cbxIdiomaOrigem.ItemIndex]));

lng2 := PCHAR(Integer(cbxIdiomaDestino.Items.Objects[cbxIdiomaDestino.ItemIndex]));

 

//chama a tradução

mmoDestino.Text := translate(mmoOrigem.Text, lng1, lng2);

end;

 

Declarar esta constante :

 

const LANGUAGE : array[ 1..23, 1..2] of String = (('de','Alemão'), ('ar','Árabe'),('bg','Búlgaro'),('zh-CN','Chinês'),('ko','Coreano'),('hr','Croata'),

('da','Dinamarquês'),('es','Espanhol'),('fi','Finlandês'),('fr','Francês'),('el','Grego'),('hi','Hindi'), ('nl','Holandês'),('en','Inglês'),('it','Italiano'),('ja','Japonês'),

('no','Norueguês'),('pl','Polonês'),('pt','Português'),('ro','Romeno'),('ru','Russo'),('sv','Sueco'),('cs','Tcheco')); //linguagens do googletradutor

 

Agora no Oncreate do Form adicionar :

 

procedure TForm1.FormCreate(Sender: TObject);

var i, j: Integer;

idioma: PCHAR;

begin

//preenche os combos com os idiomas

cbxIdiomaOrigem.Items.Clear;

for i := Low(LANGUAGE) to High(LANGUAGE) do

begin

GetMem(idioma, 1 + Length(LANGUAGE[i,1]));

StrPCopy(idioma, LANGUAGE[i,1]);

cbxIdiomaOrigem.Items.AddObject(LANGUAGE[i,2], TObject(Integer(idioma)));

end;

cbxIdiomaDestino.Items.Assign(cbxIdiomaOrigem.Items);

end;

 

 

tradutor.jpg

 

 

Créditos : Luciano

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.