Autor Téma: Google Překladač integrovat do Delphi aplikace  (Přečteno 2277 krát)

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Ahoj našel jsem že by šlo inegrovat google prekladac mate s tim nekdo zkusenosti ?

Nasel jsem kod kde neni treba API.

Ale v XE7 nefunguje...

Kód: [Vybrat]
function translate(ss,lng:string):string;
var s:widestring;
a,b:integer;
http:tidhttp;
begin
http:=tidhttp.Create;
s:=http.Get('http://translate.google.com/translate_t?text='
+httpencode(ss)+'&langpair='+lng);
a:=posex('›',s,pos('‹textarea',s));
b:=posex('‹/textarea›',s,a);
result:=copy(s,a+1,b-a-1);
http.Free;
end;

LNG definice:
Kód: [Vybrat]
lng:array[0..17]of string=('zh-CN%7Cen',
'en%7Czh-CN',
'en%7Cfr',
'en%7Cde',
'en%7Cit',
'en%7Cja',
'en%7Cko',
'en%7Cpt',
'en%7Ces',
'fr%7Cen',
'fr%7Cde',
'de%7Cen',
'de%7Cfr',
'it%7Cen',
'ja%7Cen',
'ko%7Cen',
'pt%7Cen',
'es%7Cen');

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1080
  • Karma: 36
    • Verze Delphi: 7, 2010
Re:Google Překladač integrovat do Delphi aplikace
« Odpověď #1 kdy: 05-07-2015, 21:15:42 »
Tohle je asi nejak stary. Musel bys poslat spravny pozadavek
"http://translate.google.com/translate_a/t?client=at&hl=en&sl=auto&tl=cs&text=Text"

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:Google Překladač integrovat do Delphi aplikace
« Odpověď #2 kdy: 05-07-2015, 21:22:36 »
A poradis jak tohle zmenit aby to slo v XE7?

Kód: [Vybrat]
function translate(ss,lng:string):string;
var s:widestring;
a,b:integer;
http:tidhttp;
begin
http:=tidhttp.Create;
s:=http.Get('http://translate.google.com/translate_t?text='
+httpencode(ss)+'&langpair='+lng);
a:=posex('›',s,pos('‹textarea',s));
b:=posex('‹/textarea›',s,a);
result:=copy(s,a+1,b-a-1);
http.Free;
end;

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:Google Překladač integrovat do Delphi aplikace
« Odpověď #3 kdy: 06-07-2015, 00:13:09 »
Zpátky se mi vrací

Přeložil jsem automobil z češtiny do anglictiny

Kód: [Vybrat]
{"sentences":[{"trans":"Car","orig":"Automobil","translit":"","src_translit":""}],"dict":[{"pos":"podstatné jméno","terms":["automobile","car","buggy"],"entry":[{"word":"automobile","reverse_translation":["automobil"],"synset_id":[20534],"score":0.63563865},{"word":"car","reverse_translation":["auto","automobil","vůz","vagón","kabina"],"synset_id":[20534],"score":0.37955719},{"word":"buggy","reverse_translation":["bryčka","automobil"]}],"base_form":"automobil","pos_enum":1}],"src":"cs","ld_result":{},"server_time":15}
Ale netusim jak z toho radku
Kód: [Vybrat]
{"sentences":[{"trans":"Car","orig":"Automobil","translit":"","src_translit":""}]
Vzít ten překlad jenom slovíčko Car:
Kód: [Vybrat]
"trans":"Car"

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1080
  • Karma: 36
    • Verze Delphi: 7, 2010
Re:Google Překladač integrovat do Delphi aplikace
« Odpověď #4 kdy: 06-07-2015, 07:56:49 »

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:Google Překladač integrovat do Delphi aplikace
« Odpověď #5 kdy: 06-07-2015, 11:58:55 »
No zkoušel jsem tohle ale vrací se to z chybou

Kód: [Vybrat]
function GetURLAsString(const aurl:  string): string;
var
  lHTTP: TIdHTTP;
begin
  lHTTP := TIdHTTP.Create(nil);
  try
    lHTTP.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(lHTTP);
    Result := lHTTP.Get(aURL);
  finally
    lHTTP.Free;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  LJsonObj   : TJSONObject;
  LJsonValue : TJSONValue;
  mydata,F : string;
begin
    F:='http://translate.google.com/translate_a/t?client=at&hl=cs&sl=auto&tl=en&text=Soubor';
    mydata := GetURLAsString(F);
    LJsonObj    := TJSONObject.ParseJSONValue(TEncoding.Default.GetBytes(mydata),0) as TJSONObject;
  try
     LJsonValue := LJsonObj.Get('trans').JsonValue;
     edit4.Text:= LJsonValue.Value;
  finally
     LJsonObj.Free;
  end;
end;

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1080
  • Karma: 36
    • Verze Delphi: 7, 2010
Re:Google Překladač integrovat do Delphi aplikace
« Odpověď #6 kdy: 06-07-2015, 13:47:35 »
No ja nevim, co od toho čekáš :)

Já lkJson nepoužívám, mám ten druhý. Nemůžeš si jen tak vybrat prvek a čekat, že ti to vrátí, co potřebuješ.
Prvně musís vzít pole "sentences", prvek 0 a až pak číst hodnotu ...

Offline jtfcobra

  • Plnoletý
  • ***
  • Příspěvků: 240
  • Karma: 0
    • Verze Delphi: XE4,XE5 v testovní
    • XDA Developers
Re:Google Překladač integrovat do Delphi aplikace
« Odpověď #7 kdy: 06-07-2015, 14:40:06 »
No chtěl bych si udělat interní prekladac

Mohl by jsi mi ukazat kód jak by to mělo vypadat json vůbec nepouzivam takže taky moc nevim

Ty pouzivas superobjekt?
« Poslední změna: 06-07-2015, 14:41:56 od jtfcobra »

Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1080
  • Karma: 36
    • Verze Delphi: 7, 2010
Re:Google Překladač integrovat do Delphi aplikace
« Odpověď #8 kdy: 06-07-2015, 16:44:07 »
To byla řečnická otázka. Když máš dojít do budovy A, 2. patra, 3. dveře, co se asi tak stane, když vejdeš do jakýkoliv 3. dveří, když nejsi v budově A :D

Ano, používám SuperObject. Kód je přiložen výše. JSON je základní formát, nauč se ...

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: