AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Texte mit Google übersetzen
Thema durchsuchen
Ansicht
Themen-Optionen

Texte mit Google übersetzen

Ein Thema von Larsi · begonnen am 15. Feb 2010 · letzter Beitrag vom 23. Mär 2015
Antwort Antwort
Seite 3 von 3     123   
Larsi
Registriert seit: 10. Feb 2007
Hi,
ich habe mal ein Beispiel programmiert, wie man in Delphi mithilfe des Google Übersetzungs Service Texte übersetzen kann. Hierfür wird der Quelltext der Url, in welcher der zu übersetzende Text steht ausgelesen, und die Übersetzung extrahiert. Bis jetzt kann man nur DE > EN oder EN > DE übersetzen aber das zu erweitern, stellt ja keine Schwierigkeit dar. Indys werden benötigt. Sobald Google den HTML Code ändert, geht das natürlich nicht mehr, lässt sich aber einfach abändern. Hier der Code der eigentlichen Funktion:

Delphi-Quellcode:
uses IdHttp;

function Übersetzung(const Ausgangstext: string; i: integer): string;
var
a : Integer;
x : Integer;
t: string;
r: string;
idhttp1: TIdHttp;
begin
//Umlaute, Zeilenumbrüche, Leerzeichen ersetzen
Idhttp1 := TidHttp.Create();
t := StringReplace(Ausgangstext, ' ', '+',[rfReplaceAll, rfIgnoreCase]);
t := StringReplace(t, 'ä', 'ae', [rfReplaceAll, rfIgnoreCase]);
t:= StringReplace(t, 'ö', 'oe', [rfReplaceAll, rfIgnoreCase]);
t := StringReplace(t, 'ü', 'ue', [rfReplaceAll, rfIgnoreCase]);
t := StringReplace(t, #13#10, '', [rfReplaceAll, rfIgnoreCase]);
//Deutsch > Englisch oder Englisch > Deutsch
if i = 0 then
r := Idhttp1.Get('http://translate.google.de/translate_t?hl=&ie=UTF-8&text=' + t + '+%0D%0A&sl=de&tl=en#');
if i = 1 then
r := Idhttp1.Get('http://translate.google.de/translate_t?hl=&ie=UTF-8&text=' + t + '+%0D%0A&sl=en&tl=de#');
//Text im Quellcode, der vor der Übersetzung steht
x := Pos('gtrans value="', r);
//Text im Quellcode, der nach der Übersetzung steht
a := Pos('<br>">', r);
//Text zwischen Anfangs- und Endtext auslesen
Result := Copy(r, x + 14, a - x - 14);
end;
Beispielaufrufe:

Delphi-Quellcode:
//Deutsch zu Englisch
Memo2.Text := Übersetzung(Memo1.Text, 0);

//Englisch zu Deutsch
Memo2.Text := Übersetzung(Memo1.Text, 1);
Angehängte Dateien
Dateityp: rar _bersetzer_851.rar (244,6 KB, 113x aufgerufen)
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ

Geändert von Larsi (14. Nov 2019 um 11:17 Uhr)
 
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 11 Alexandria
 
#21
  Alt 23. Mär 2015, 10:13
WorkAround: Die Zeilenschaltungen durch <br> ersetzen, übersetzen lassen und vor dem Einfügen des übersetzten Textes die <br> wieder durch Zeilenschaltungen ersetzen.
Harry Stahl
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

 
Delphi 10 Seattle Enterprise
 
#22
  Alt 23. Mär 2015, 10:17
WorkAround: Die Zeilenschaltungen durch <br> ersetzen, übersetzen lassen und vor dem Einfügen des übersetzten Textes die <br> wieder durch Zeilenschaltungen ersetzen.
Hilft dir der Link hier evtl. weiter?
http://meyerweb.com/eric/tools/dencoder/
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 11 Alexandria
 
#23
  Alt 23. Mär 2015, 10:40
Super! "%0A" war der Ersatz für einen neuen Absatz, funktioniert jetzt alles perfekt.
Harry Stahl
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz