Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi [Indy9]Wie lasse ich Google für mich übersetzen? (https://www.delphipraxis.net/36352-%5Bindy9%5Dwie-lasse-ich-google-fuer-mich-uebersetzen.html)

Kernel32.DLL 18. Dez 2004 20:22


[Indy9]Wie lasse ich Google für mich übersetzen?
 
Tachen alle zusammen:

Da ich schon etwas länger an einem Offline - Wörterbuch arbeite, würde ich diesem gerne eine weitere Funktion hinzufügen:
Onlineübersetzung
(praktisch als Notlösung, falls in der Offline - Variante das gesuchte Wort nicht aufzufinden ist)
Dabei wollte ich ein Edit-Feld verwenden, in dem der User das zu übersetzende Wort eingibt und ein Memo, in dem die Übersetzung ausgegeben wird.

Jetzt mein Problem:

Wie kann ich die Google Übersetzungsfunktion aus meinem Programm heraus benutzen? Wie sende ich Daten an Google und vorallem: Wie bekomme ich das Übersetzte zurück?


Ich kann auf die Indy-Kompos Ver. 9 zurückgreifen, würde es aber lieber mit den Delphi 5 Pro. Internet-Kompos probieren (vorrausgesetzt, sie machen die Sache nicht unnötig kompliziert)

(Mein "Skill" in der Internet - Programmierung ist nicht so hoch, habt also nachsehen mit mir :mrgreen: )


mfg
Daniel

[Edit]Überschrift verbessert[/Edit]

Dani 18. Dez 2004 21:08

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Hi,
ich glaub nicht, dass man die Google Sprachtools automatisiert benutzen darf... ich würde aber mal darauf tippen, dass per POST das Formular an den Webserver übertragen wird. Mit Bei Google suchenPacketyzer könntest du ja mal nachschauen, wie so ein Request aufgebaut ist.

Hab vor kurzem ein Konsolenprogramm hingekritzelt, das über das Web-Interface des Routers die Verbindung beenden kann. Vielleicht ist der Code irgendwie nützlich für dein Vorhaben.
Delphi-Quellcode:
program CloseConn;

{$APPTYPE CONSOLE}

uses
  Windows,
  IdHTTP,
  Classes,
  SysUtils;

const
 // "pppoeAct=2"   ====>  Verbindung beenden
 code = 'Load=Q&connTime=00000000&connStatus=Connected&getIP=OK&pppoeAct=%s&Button=Apply';
 RouterHost = 'http://192.168.0.1/post-query';

var HTTP: TIdHTTP;
    ResponseStream, InputStream : TStream;

begin
 try
  InputStream := TStringStream.Create(code);
  ResponseStream := TFileStream.Create('C:\RouterResponse.htm', fmCreate or fmShareExclusive);
  HTTP := TIdHTTP.Create(nil);
  With HTTP do
   begin
    ConnectTimeout := 10000;
    Host := RouterHost;
    Request.BasicAuthentication := true;
    Request.Username := 'admin';
    Request.Password := 'swordfish';
    Request.Referer := 'http://192.168.0.1/pppoestatus.htm';
    Request.ContentType := 'application/x-www-form-urlencoded';
    Request.AcceptEncoding := 'gzip, deflate';
    Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.14322)';
    Request.ContentLength := Length(code);
    Request.Connection := 'Keep-Alive';
    AuthRetries := 0;
    Post(RouterHost, InputStream, ResponseStream);
   end;
 except
  on E: Exception do
   begin
    WriteLn(E.Message);
    ReadLn;
    exit;
   end;
 end;  
end.
[Edit#3]Mach es doch so: Wenn ein Wort nicht gefunden wird, kann der User beantragen, dass das Wort an deinen Webserver geschickt wird, wo du dann eine passende Übersetzung suchst, welche dann per "Wortschatz-Update" (Textdatei mit Update-Anweisungen?) für alle User verfügbar wird :mrgreen:

Kernel32.DLL 18. Dez 2004 21:26

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Zitat:

Zitat von Dani
Hi,
ich glaub nicht, dass man die Google Sprachtools automatisiert benutzen darf...

Dagegen spricht, dass es eine große Zahl von Tools gibt, die dies tun.

Zitat:

Zitat von Dani
Mach es doch so: Wenn ein Wort nicht gefunden wird, kann der User beantragen, dass das Wort an deinen Webserver geschickt wird, wo du dann eine passende Übersetzung suchst, welche dann per "Wortschatz-Update" (Textdatei mit Update-Anweisungen?) für alle User verfügbar wird :mrgreen:

Oh Cool, AOL wird sich bestimmt riesig freuen :mrgreen:

******

Das Programm werde ich noch genauer auseinanderklabustern, befürchte aber fast, es wird wenig nützen, trotzdem danke...

Für weitere Hilfen bin ich sehr dankbar

Kernel32.DLL 18. Dez 2004 21:37

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Ich nochmal:

Ich hab n'en Bash Script gefunden, dass die Übersetzungsanfrage an Google sendet:
http://forum.elbone.net/thread.php?threadid=848&sid=

Könnte das evtl. jemand nach "delphisch" übersetzen? Zumindestens so, dass ich kapier, was das Ding eigentlich macht.

Kernel32.DLL 20. Dez 2004 12:43

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Hol'n wir den Post doch nochmal aus der Versenkung

*push*

endeffects 21. Dez 2004 09:38

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
moin moin,

das bash script das du dort gefunden hast benutzt das linux programm wget,
großartig übersetzen läßt sich dort also nichts, du wirst also notgedrungen
mal hier im forum nach indy und post suchen müssen

jim_raynor 21. Dez 2004 09:49

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Ich glaube, dass du garnichts mit Post machen musst. Kuck mal, so sieht die URL-Anfrage aus:

http://translate.google.com/translat...ww.sentex.net/

Leider kann ich es hier nicht testen, da die Firewall das nicht zulässt, aber diese Anfrage sollte reichen, um eine Seite zu übersetzen.

jetzt suchst du noch nach URLDownloadToFile oder InternetOpen, InternetRead und schon solltest du auch ohne Indy und sonstirgendwelchen Komponenten eine Seite übersetzen können.

Kernel32.DLL 21. Dez 2004 10:08

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
@jim_raynor:
Ich fürchte, ich habe mich nicht genau ausgedrückt, mein Fehler: Ich möchte keine Seite übersetzen, sondern lediglich die Übersetzung zu einem Wort, z.B.:

"caption" => "Überschrift"

Trotzdem danke, ich werden hier im Forum mal nach "Post" und "Indy" suchen

mfg
Daniel


[Edit]222. Beitrag! Verdammt, jetzt muss ich einen ausgeben...[/Edit]

jim_raynor 21. Dez 2004 10:33

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Zitat:

Zitat von Kernel32.DLL
@jim_raynor:
Ich fürchte, ich habe mich nicht genau ausgedrückt, mein Fehler:

Ne hast nicht. Hab nur wieder irgendwas falsch verstanden. :roteyes:

Vielleicht ist ja Google nicht ganz geeignet, da dieser doch nur Seiten übersetzt. Vielleicht solltest du die Babylon-Seite oder so verwenden (sorry weiss jetzt keinen genauen Link)

Kernel32.DLL 21. Dez 2004 10:40

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Zitat:

Zitat von jim_raynor
Vielleicht ist ja Google nicht ganz geeignet, da dieser doch nur Seiten übersetzt.

Wirklich nur Webseiten?

Dani 23. Dez 2004 18:22

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
http://www.google.com/translate_t?te...ngpair=de%7Cen

Das funktioniert :-D

Falls du dich trotzdem der Indys bedienen möchtest, hab ich mal ein kleines (leider unkommentiertes) Beispiel-Progrämmchen angehängt. Die Quell-und Zielsprachen sind in "langpair" Von_Sprache|Nach_Sprache codiert. Alle Sprachkürzel findest du im Quellcode der Google Sprachtools Seite.

Kernel32.DLL 23. Dez 2004 23:41

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Vielen herzlichen Dank! Und schöne Weihnachten :-D

endeffects 4. Jan 2005 18:31

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
was ich dir an dieser stelle aber noch empfehlen würde
ist anstatt ausschließlich google zu nutzen,
dich auch bei babelfish.altavista.com umzusehen
(bieten noch ein paar mehr sprachen an) oder aber
wenn es speziell um englische und französische übersetzungen geht
dict.leo.org zu nutzen (das wörterbuch ist sehr umfangreich)

Garfield 4. Jan 2005 18:49

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Vielleicht ist das was:
Zitat:

QuickTranslate Online is a Delphi compiled program for Translating text various languaje, is quick and small, translate using Systran translation used in Altavista, Lycos, Google, Terra, in others pages.
http://sourceforge.net/projects/quicktranslate/

Kernel32.DLL 4. Jan 2005 20:47

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Zitat:

Zitat von Garfield
Vielleicht ist das was:
Zitat:

QuickTranslate Online is a Delphi compiled program for Translating text various languaje, is quick and small, translate using Systran translation used in Altavista, Lycos, Google, Terra, in others pages.
http://sourceforge.net/projects/quicktranslate/

Hatte ich schon ausprobiert, is' nicht so toll....

Luckie 4. Jan 2005 20:50

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Na dann guck es dir an, wie die es gemacht haben und verbesser es.

Kernel32.DLL 4. Jan 2005 20:53

Re: [Indy9]Wie lasse ich Google für mich übersetzen?
 
Zitat:

Zitat von Luckie
Na dann guck es dir an, wie die es gemacht haben und verbesser es.

Nicht mehr nötig, es funzt ja in meinem Programm einwandfrei!!!
Außerdem ist die Online-Lösung ja nur als Notlösung gedacht. Mal sehen, wenn ich noch Zeit habe, baue ich die babelfish-Abfrage mit ein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz