kleines Modul zu @teadrinker's GoogleTranslate()-function.
Google limitiert das kostenlose Web-Übersetzungstool auf 5ooo Zeichen pro Eingabe.
Deshalb zerlegt das Script den gewünschten Text in Blöcke. Ein- und Ausgabe (Textdateien/Zwischenablage) wie im Code beschrieben.
Übersetzt hier von Englisch ('en') nach Deutsch ('de'). Check GoogleTranslate() for further details
Etwaige Fehler abzufangen bleibt (vorerst) Mangelware
Code: Select all
SetWorkingDir,% A_ScriptDir
#Include GoogleTranslate().ahk ; Download: https://www.autohotkey.com/boards/viewtopic.php?t=63835 by teadrinker
; gT("input.txt","output.txt") ; eingabe aus datei, ausgabe in datei
; gT("input.txt") ; eingabe aus datei, ausgabe in zwischenablage
; gT() ; eingabe aus zwischenablage, ausgabe in zwischenablage
gT(inFile:="",outFile:="") {
content := (inFile != "") ? fRead(inFile) : clip() ; auslesen der datei, oder CTRL+C in zwischenablage
chars := StrSplit(content) ; content in einzelne Zeichen zerlegen
Loop % chars.count() {
if (mod(A_Index,5000) = 0 || A_Index = chars.count()) { ; sobald textblock 5K zeichen erreicht, oder Anzahl restzeichen enthält ...
trl .= GoogleTranslate(str,"en","de") ; textblock-übergabe an Google-Translate. Ergebnis konkatenieren.
str:="" ; textblock leeren
}
Else
str .= chars[A_Index] ; textblock befüllen
}
SoundBeep ; feierabendbiersignalindikator
Return clipboard := (outFile != "") ? fWrite(outFile,trl) : trl ; schreiben in datei, oder ausgabe in zwischenablage
}
clip() {
Send ^c
ClipWait
Return clipboard
}
fRead(inFile) {
FileRead, content,% inFile
Return content
}
fWrite(outFile,trl) {
response := (trl = "") ? "Translation failed" : "File created."
FileAppend,% trl,% outFile, UTF-8 ; https://www.autohotkey.com/docs/commands/FileEncoding.htm
Return response
}
FAQ
Tags: Google Translate translation transcription language