[GastForen Programmierung/Entwicklung AppleScript AppleScript für den DeepL Überstetzer (HTTP Request API)?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

AppleScript für den DeepL Überstetzer (HTTP Request API)?

EinNeuling
Beiträge gesamt: 7

8. Dez 2018, 17:30
Beitrag # 1 von 12
Bewertung:
(1368 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

kennt sich jemand mit AppleScript aus?
ich würde sehr gerne mithilfe vom AppleScript (Automator) den DeepL-Übersetzer (vgl. https://www.deepl.com/translator) einbinden bzw. markierte Texte automatisch damit übersetzen.

So eine ähnliche Lösung gibt es ja für Google (vgl. https://www.apfelpage.de/...er-das-kontextmenue/):
Code
on run argv 
set tex to item 1 of argv
set tex to do shell script "php -r 'echo trim(urlencode(" & "\"" & tex & "" & "\"));'"
do shell script "open http://translate.google.com/#auto/de/" & tex
end run

​
So etwas hätte ich gerne auch für den DeepL-Übersetzer. Ich kann jedoch (noch) nicht mit dem AppleScript programmieren... :(

Ich habe noch keine solche Lösung im Internet gefunden.
Es gibt eine Lösung mit dem Python3 und KM. Dieser Script wird dafür verwendet: http://github.com/.../master/translate.py
Jemand, der sich jedoch mit AppleScript nicht auskennt, meinte, dass man das gleiche Pronzip (ab Zeile 35) evtl. als Grundlage nehmen könnte. Das würde dann Folgendes bedeuten:
Einen POST-Request an https://deepl.com/jsonrpc und geben als Payload die JSON-Struktur an, wie sie das Skript definiert. In die muss man den zu übersetzenden Text und die Sprachen einsetzen. Die DeepL-API antwortet dann ebenfalls mit JSON. Die Ergebnisse stehen in ['result']['translations'].
Also: HTTP-Request an den API-Server und Ergebnisse auswerten. Der Trick besteht darin das richtige Format zu
finden, aber das könnte man sich von dem Python-Skript abschauen...
So weit die Theorie...

Kann jemand damit etwas anfangen und mir weiterhelfen? Wie würde dieser AppleScript aussehen?

Ich muss zugestehen, dass ich ein absoluter Anfänger bin und deswegen suche ich nach Profis hier...

(Dieser Beitrag wurde von EinNeuling am 8. Dez 2018, 17:58 geändert)
X

AppleScript für den DeepL Überstetzer (HTTP Request API)?

Hans Haesler
  
Beiträge gesamt: 5673

8. Dez 2018, 18:00
Beitrag # 2 von 12
Beitrag ID: #567945
Bewertung:
(1362 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo EinNeuling,

herzlich willkommen im AppleScript-Forum auf HilfDirSelbst! :-)

Ein happige Aufgabe ... Ob es möglich ist, diese mit einem AppleScript zu lösen kann ich nicht sagen.
Aber der Aufwand wird recht gross sein und sollte entsprechend honoriert werden.

Warten wir mal ab, ob sich jemand damit befassen wird.

Gruss, Hans


als Antwort auf: [#567944]

AppleScript für den DeepL Überstetzer (HTTP Request API)?

EinNeuling
Beiträge gesamt: 7

8. Dez 2018, 18:04
Beitrag # 3 von 12
Beitrag ID: #567946
Bewertung:
(1359 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf:
Ein happige Aufgabe ...
Aber der Aufwand wird recht gross sein


OK, ich war so naiv zu denken, dass es so ein scheinbar "kleines" Script sein wird, wie bei der Lösung für den Google Übersetzer...


als Antwort auf: [#567945]

AppleScript für den DeepL Überstetzer (HTTP Request API)?

Hans Haesler
  
Beiträge gesamt: 5673

8. Dez 2018, 20:04
Beitrag # 4 von 12
Beitrag ID: #567947
Bewertung:
(1342 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo EinNeuling,

nun ... ein Hilfswilliger hat vermutlich den DeepL Übersetzer nicht zur Hand und muss ihn herunterladen (Probeabo).
Dann herausfinden, mit welchem Wortschatz welche Befehle ausgeführt werden können. Und schliesslich versuchen, die Anforderung umzusetzen.
Das alles ist vermutlich nicht so schnell erledigt.

Gruss, Hans


als Antwort auf: [#567946]

AppleScript für den DeepL Überstetzer (HTTP Request API)?

EinNeuling
Beiträge gesamt: 7

8. Dez 2018, 20:07
Beitrag # 5 von 12
Beitrag ID: #567948
Bewertung:
(1337 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wahrscheinlich hatte ich einen Denkfehler. Ich dachte, dass man von der anderen Lösung mit Python ableiten kann, ohne herunterladen zu müssen usw. ...


als Antwort auf: [#567947]
(Dieser Beitrag wurde von EinNeuling am 8. Dez 2018, 20:26 geändert)

AppleScript für den DeepL Überstetzer (HTTP Request API)?

Hans Haesler
  
Beiträge gesamt: 5673

9. Dez 2018, 09:02
Beitrag # 6 von 12
Beitrag ID: #567949
Bewertung:
(1287 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo EinNeuling,

es ist genau umgekehrt. Den Denkfehler machte ich ... Habe endlich die Sache näher angeschaut.

Zur "Strafe" werde ich versuchen, etwas zustandezubringen. Ohne Garantie, dass es brauchbar sein wird ...

Gruss, Hans


als Antwort auf: [#567948]

AppleScript für den DeepL Überstetzer (HTTP Request API)?

Hans Haesler
  
Beiträge gesamt: 5673

9. Dez 2018, 16:10
Beitrag # 7 von 12
Beitrag ID: #567954
Bewertung:
(1252 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo EinNeuling,

die gute Nachricht zuerst: Es gelang mir problemlos, die Automator-Aktion für den Google-Übersetzer zu erstellen.

Aber dann ... :-(( Hier in Lausanne sagen wir: "Essayé, pas pu." Das ist französisch für "Versucht, (aber) nicht gekonnt."
Das Portieren des Python-Scripts ist leider ausserhalb meiner Reichweite.

Hoffentlich meldet sich jemand, welcher die notwendigen Kenntnisse hat.

Gruss, Hans


als Antwort auf: [#567948]

AppleScript für den DeepL Überstetzer (HTTP Request API)?

EinNeuling
Beiträge gesamt: 7

9. Dez 2018, 21:11
Beitrag # 8 von 12
Beitrag ID: #567957
Bewertung:
(1235 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für deine Mühe!
Hoffentlich schafft das jemand anders...


als Antwort auf: [#567949]

AppleScript für den DeepL Überstetzer (HTTP Request API)?

EinNeuling
Beiträge gesamt: 7

11. Dez 2018, 13:42
Beitrag # 9 von 12
Beitrag ID: #567998
Bewertung:
(1128 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hilft diese FAQ-Info irgendwie weiter (vgl. https://www.deepl.com/pro-faq.html)?

Zitat How do I send a translation request as a POST request?

In a POST request, you do not send the data in the URL, but rather as data in the body of the request. There exist libraries for most programming languages to support the easy sending of POST requests.

However, if you have to create a POST request yourself, you should consider the following points:

1. Use POST as the request method.
2. Set the Content-Type request header to application/x-www-form-urlencoded.
3. Set the Content-Length request header to the number of bytes in the request body.
4. Insert your translation request parameters into the request body. The parameters should be URL-encoded using the UTF-8 character set. In other words, the body looks exactly like the query part of the equivalent GET-request (the characters after the question mark of a GET-request).
5. Use the same URL as for GET-requests, but without parameters, i.e. https://api.deepl.com/v2/translate.

The request https://api.deepl.com/v2/translate?auth_key=00000000-0000-0000-0000-000000000000&text=This%20is%20a%20Test.&target_lang=EN should look like this as a POST request:
Code
POST /v2/translate HTTP/1.1 
Host: localhost
Content-Type: application/x-www-form-urlencoded
Content-Length: 87

auth_key=00000000-0000-0000-0000-000000000000&text=This%20is%20a%20Test.&target_lang=EN




als Antwort auf: [#567957]
(Dieser Beitrag wurde von EinNeuling am 11. Dez 2018, 13:44 geändert)

AppleScript für den DeepL Überstetzer (HTTP Request API)?

EinNeuling
Beiträge gesamt: 7

23. Dez 2018, 18:04
Beitrag # 10 von 12
Beitrag ID: #568224
Bewertung:
(859 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
So, ich habe es fast geschafft...
Mit diesem Script (vom Google-Übersetzer übernommen und den passenden URL dazu) klappt es grundsätzlich, aber leider mit einem störenden Fehler (es werden Plus-Zeichen zwischen den Wörtern hinzugefügt!?):

Code
on run argv 
set tex to item 1 of argv
set tex to do shell script "php -r 'echo trim(urlencode(" & "\"" & tex & "" & "\"));'"
do shell script "open https://www.deepl.com/translator#en/de/" & tex
end run


Hat jemand eine Idee, wie ich die "+"-Zeichen wegbekommen kann? Evtl. wie ich den Script anpassen könnte???

Hier Screenshots vom Ergebnis beim Google- und DeepL-Übersetzer, wo auch der Unterschied zu sehen ist: https://drive.google.com/...njHKapU6SClBanpM6WA1


als Antwort auf: [#567998]
(Dieser Beitrag wurde von EinNeuling am 23. Dez 2018, 18:09 geändert)

AppleScript für den DeepL Überstetzer (HTTP Request API)?

Hans Haesler
  
Beiträge gesamt: 5673

23. Dez 2018, 20:39
Beitrag # 11 von 12
Beitrag ID: #568229
Bewertung:
(840 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo EinNeuling,

gratuliere! Ganz nach dem Motto des Forums: HilfDirSelbst. :-)

Spass beiseite: Den störenden Fehler kann ich bestätigen. Etwas nachgeforscht und folgende Erklärung zu urlencode gefunden:

Zitat Gibt einen String zurück, in dem alle (...) Leerzeichen durch ein Plus (+) ersetzt werden.

Siehe hier: https://de.functions-online.com/urlencode.html

Auf derselben Seite ist rawurlencode erwähnt. Also direkt vor urlencode das Wort raw (bedeutet "roh") einfügen:

Code
on run argv 
set tex to item 1 of argv
set tex to do shell script "php -r 'echo trim(rawurlencode(" & "\"" & tex & "" & "\"));'"
do shell script "open https://www.deepl.com/translator#en/de/" & tex
end run

Ausprobiert ... Ergebnis: Es funktioniert wie gewünscht.

Gruss, Hans


als Antwort auf: [#568224]

AppleScript für den DeepL Überstetzer (HTTP Request API)?

EinNeuling
Beiträge gesamt: 7

23. Dez 2018, 21:30
Beitrag # 12 von 12
Beitrag ID: #568230
Bewertung:
(827 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Ausprobiert ... Ergebnis: Es funktioniert wie gewünscht.


Vielen Dank! Gemeinsam haben wir es gescafft!!!

Frohe Weihnachten!


als Antwort auf: [#568229]
(Dieser Beitrag wurde von EinNeuling am 23. Dez 2018, 21:31 geändert)
Hier Klicken X

Aktuell

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
24.01.2019

Impressed GmbH, Hamburg
Donnerstag, 24. Jan. 2019, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen in diesem kostenlosen ca. halbstündigen Webinar das neue Enfocus Switch PDF Review Modul zur Freigabe von PDF-Druckdaten vor. Wir zeigen Ihnen, wie Sie die Lösung in bestehende Enfocus Switch-Workflows einbinden und somit die Freigabeprozesse mit Ihren Kunden erheblich beschleunigen können.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=250

Enfocus Switch PDF Review Modul
Veranstaltungen
24.01.2019

Hochschule der Medien, Stuttgart
Donnerstag, 24. Jan. 2019, 18.00 Uhr

Vortrag

Wie jedes Jahr im Januar besucht uns Monika Gause mit Neuigkeiten zu Illustrator und aus der restlichen Publishing-Welt. Der Abend ist pickepacke voll: Zunächst zeigt uns Monika alles Neue, was uns Adobe in Illustrator 2019 gepackt hat. Anschließend zeigt sie verschiedenen Möglichkeiten der realistischen Darstellung: Verläufe, Verlaufsgitter, Angleichungen und wie man sie in den Griff bekommt. Dazu gehört auch die Vorstellung des kostenlosen Plugin Mesh Tormentor. Abgeschlossen wird mit dem "Best-of" aus einem Infografik/Dokumentation-Seminar, das Monika letztes Jahr in München gehalten hat. Es ist nicht nötig Tickets zu kaufen oder eine Registrierung durchzuführen. Komme einfach vorbei! Wir freuen uns Katharina Frerichs und Christoph Steffens

Kostenlos, Ticketkauf oder Anmeldung ist nicht nötig.

Nein

Organisator: IDUG Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailchristoph.steffens AT gmail DOT com

Illustrator mit Monika Gause
Hier Klicken