Text automatisch mit DeepL übersetzen

Seit rund zwei Jahren gibt’s DeepL nun schon und es besticht seit Anfang an durch eine natürliche Übersetzung fremdsprachiger Texte ins Deutsche oder in eine andere Sprache. Die Qualität der Übersetzung ist dabei erheblich besser, als das was Google oder Microsoft liefern. Im Unterschied zu beiden ist DeepL aber nicht grundsätzlich kostenlos. Denn die kostenfreie Version übersetzt “nur” 5000 Zeichen am Stück, während die Bezahlversion keine Einschränkungen hat.

Ich nutze DeepL ziemlich oft, weswegen ich vor einiger Zeit ein Jahresabo abgeschlossen habe. Aber schon vorher habe ich mir mit Autohotkey ein kleines Script geschrieben, das markierten Text in einem neuen DeepL-Browsertab öffnet, wo er gleich übersetzt wird. Nun gibt es für die verschiedenen Browser mittlerweile auch Addons, die das Gleiche machen, allerdings werden Addons auch gerne mal genutzt, um persönliche Daten (und sei es die Surfhistory) aus den Browsern abzuziehen. Ich unterstelle das keinem der Addonentwickler, aber im Zweifelsfall möchte ich das nicht.

Zunächst einmal ein Beispiel, wie das Script funktioniert:

Damit nachvollziehbar ist, was das Script macht, habe ich jede Zeile kommentiert.

; Übersetzen mit DeepL (Strg + D)

^d::
; Nachfolgendes nur ausführen, wenn Firefox, Chrome (oder Vivaldi, Chromium) oder Edge aktiv sind
if WinExist("ahk_class MozillaWindowClass") or WinExist("ahk_class Chrome_WidgetWin_1") or WinExist("hk_class ApplicationFrameWindow")
{
;Breite des ersten Bildschirms in Pixeln (ggf. anpassen)
xres = 1920

; Hole Mausposition 
MouseGetPos, xpos, ypos 

; Speichere die aktuelle Zwischenablage, um sie später wieder herstellen zu können
ClipSaved := ClipboardAll

; Kopiere markierten Text per simuliertem [Strg + C]in die Zwischenablage
Send, ^c

; Öffne DeepL-Website
run https://www.deepl.com/translator

;Warte 1 s bis die Seite geladen wurde (Wert bei Bedarf anpassen)
sleep, 1000

; Legt fest, an welcher Position sich in etwa das DeepL-Eingabeformular befinden wird. Dazu wird die oben bestimmte Mausposition benutzt
	if(xpos > xres) 
	{ 
		posx := xres + 500 
	} else 
		{ 
		posx = 500 
		}
; Klickt ins DeepL-Eingabeformular, um es zu aktivieren		
MouseClick, left, %posx%, 500

; Fügt den Inhalt der Zwischenablage per simuliertem [Strg + V] ein
Send, ^v

; Wartet nochmal eine Sekunde
sleep, 1000

; Stellt den vorherigen Inhalt der Zwischenablage wieder her
Clipboard := ClipSaved
}
return

Diesen Inhalt einfach in eine Textdatei kopieren und sie mit der Dateiendung .ahk abspeichern. Nach dem Aufruf läuft das Script im Hintergrund mit und wartet auf die Eingabe von Strg + D, solange Firefox, Chrome (oder Vivaldi, Chromium oder ein anderer Browser, der die Chromeengine verwendet) oder Edge aktiv ist.

Wer das Script ohne Autohotkey nutzen möchte, kann dieses Programm herunterladen, das nur obiges Script enthält:

Das Script selber gibt’s hier:

Ich nutze das Script jetzt schon eine ganze Weile, es funktioniert einwandfrei und ich möchte es nicht mehr missen. Texte, die länger als 5000 Zeichen sind, werden komplett übernommen, aber in der kostenfreien Version nicht komplett übersetzt. Wenn man am Ende angekommen ist, kann man einfach die vorherigen 5000 Zeichen löschen und DeepL übersetzt dann den Rest des Textes ganz automatisch.

Tipp: Um den kompletten Text eines fremdsprachigen Artikel zu markieren, wechsle ich im Firefox in den Lesemodus, in dem störende Elemente der Website entfernt werden. Dann drücke ich Strg + A zum Markieren und Strg + D, um den Text übersetzen zu lassen.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.