Seite 1 von 1

DeepL Text Übersetzer einbinden?

Verfasst: So, 04. Feb 2024 9:56
von RolandG
Hallo

hat jemand schon DeepL in Xbase++ eingebunden und kann mir dabei "Starthilfe" geben?
Vielleicht lässt sich die Schnittstelle mit Standard-Funktionen bewerkstelligen one zusätzliches zu installieren wie Phyton, JSON, CURL oder Java?

Hier die API-Beschreibung der DeepL API:
https://www.deepl.com/de/docs-api/trans ... slate-text

Bei GitHub:
https://github.com/DeepLcom

Gruß
Roland

Re: DeepL Text Übersetzer einbinden?

Verfasst: So, 04. Feb 2024 12:19
von Dominik Krebs
Hallo Roland,
das kannst du in Xbase problemlos über die HttpClient() Klasse lösen.
API-Key in den Header und mit der :SetConent() Methode dein Json Objekt als String senden und die Response auslesen.
Habe grade kein Beispiel aber kann dir gerne eins basteln wenn ich wieder am Rechner bin :)

Re: DeepL Text Übersetzer einbinden?

Verfasst: So, 04. Feb 2024 14:21
von RolandG
Hallo Dominik

das wäre Klasse wenn Du da ein Beispiel bauen würdest.
Mit HttpClient habe ich nur 1x was gemacht, ist schon eine Weile her (EORI-Abfrage).
Da fange ich wieder fast bei Null an.

Gruß
Roland

Re: DeepL Text Übersetzer einbinden?

Verfasst: So, 04. Feb 2024 17:11
von Dominik Krebs
Hallo Roland,
ich kann das Beispiel nicht vollständig testen, alleine da mir schon der API Key fehlt, aber du solltest das abwandeln können.
Beschäftige dich auch gleich mit DataObjects, mit diesen kannst du sehr leicht mit Json arbeiten.

Code: Alles auswählen

PROCEDURE Main
LOCAL oHttpClient
LOCAL cResponse
LOCAL oJsonData
LOCAL cApiKey
LOCAL cContent
   SET CHARSET TO ANSI

   //Dein API Key
   cApiKey := ""
   cContent := '{"text": ["Hello, world!"],"target_lang": "DE"}'

   oHttpClient := HttpClient():New("https://api-free.deepl.com/v2/translate")
   oHttpClient:setMethod("POST")
   oHttpClient:httpRequest:AddHeader("Authorization","DeepL-Auth-Key "+cApiKey)
   oHttpClient:httpRequest:AddHeader("Content-Type","application/json")
   oHttpClient:httpRequest:SetContent(cContent)
   cResponse := oHttpClient:Send()

   IF oHttpClient:GetStatusCode() == 200
   oJsonData := Json2Var(cResponse)
   ENDIF

RETURN

Re: DeepL Text Übersetzer einbinden?

Verfasst: So, 04. Feb 2024 17:17
von RolandG
Danke Dominik!

Werde nachher die Sache testen...

MfG
Roland

Re: DeepL Text Übersetzer einbinden?

Verfasst: Mo, 05. Feb 2024 10:08
von azzo
Hallo Roland,
Nur interessehalber: Kannst du zur Übersetzungsqualität von DeepL vs. ChatGPT etwas sagen und wie schaut es mit den Kosten aus?

LG
Otto

Re: DeepL Text Übersetzer einbinden?

Verfasst: Mo, 05. Feb 2024 10:45
von RolandG
Hallo Otto

zum Vergleich DeepL zu ChatGPT kann ich nichts sagen, Übersetzungen mit ChatGPT habe ich noch nicht versucht.

DeepL: Ich meine, dass es sich für Personen die über das Jahr häufiger (mehrseitige) Übersetzungen machen müssen die Bezahl-Varianten von DeepL auf jeden Fall rentieren und empfehlen. Gefühlt gibt es Qualitätsunterschiede zwischen den kostenlosen Übersetzungen und den bezahlten - zumindest hätte ich den Eindruck bei manchen zurückliegenden Vergleichs-Übersetzungen. Z.B. beim Satzbau.
Positive Rückmeldungen von Kunden die das einsetzen und auch selbst schon gute Übersetzungen damit gemacht. Ich war schon manchmal positiv überrascht von der Qualität.

Bei "wichtigen" Dingen würde ich mich nicht nur auf die Maschine verlassen, da würde ich dann trotzdem noch einen entsprechenden Fachmann (z.B. Rechtsanwalt) draufschauen lassen.

Groß
Roland

Re: DeepL Text Übersetzer einbinden?

Verfasst: Mo, 05. Feb 2024 13:15
von RolandG
@Dominik

das mit dem HttpClient hat funktioniert.

Ich bin aber mit der Rückgabe von DeepL so nicht zufrieden.
für Text-Blöcke scheint der Aufruf nicht geeignet (CR/LF).
Auch die Umlaute und Sonderzeichen gehen (noch) nicht.
Da muss ich mit der Zeichen-Codierung rumspielen...

MfG
Roland

Re: DeepL Text Übersetzer einbinden?

Verfasst: Di, 06. Feb 2024 11:59
von AUGE_OHR
hi Roland,
RolandG hat geschrieben: Mo, 05. Feb 2024 13:15 Auch die Umlaute und Sonderzeichen gehen (noch) nicht.
Da muss ich mit der Zeichen-Codierung rumspielen...
UTF8 Format wird bei Übersetzern verwendet

Re: DeepL Text Übersetzer einbinden?

Verfasst: Di, 06. Feb 2024 12:12
von RolandG
Hallo Jimmy

danke für die Info mit UTF8.
Inzwischen habe ich die Schrift für die Kommunikation mit DeepL soweit im Griff dass es wieder zu meinen Programm-Einstellungen passt.
Ich mache das jetzt mit "URL-encoded" und "HTTP request".
Die Rückgabe-Info muss ich noch sauberer einbauen, aber im Augenblick geht es - zumindest für die benötigten Aufgaben.

(Die Schnittstelle ersetzt aber nicht den vollen Leistungsumfang des DeepL Pro Advanced Abo z.B. mit Word File Upload, Rechtschreibkorrektur usw.
Reicht aber für schnelle Übersetzungen in meiner Anwendung.)

MfG
Roland