Gebrauch : markieren des Textes in einer Anwendung > danach Ausführung des Scriptes und Auswählen von Ausgangssprache > Zielsprache.
Installation wie in Script 1 viewtopic.php?f=64&t=287009
zu installieren:
Code: Select all
apt install yad zenity xsel
Code: Select all
bash -c translator10.sh
Code: Select all
#!/bin/bash
# Uebersetzung von markierten Texten ueber Zwischenablage via google-api
# funktioniert mit allen Programmen
# Sprachwahl mit yad und Ausgabe der Uebersetzung mit zenity
#
# zu installieren: yad zenity xsel
#
# Dateiname : translator10.sh
# Befehl fuer einen Starter : bash -c translator10.sh
#
# Handhabung : Text in Anwendung markieren - Script aufrufen
# Ausgangssprache waehlen - Zielsprache waehlen
#
#
# Script-Start
# markierten Text an xsel uebergeben
text="$(xsel -o)"
# Sprachauswahl treffen
Sprachen="Afrikaans:af,Albanisch:sq,Arabisch:ar,Bulgarisch:bg,Chinesisch:zh,Daenisch:da,Deutsch:de,Englisch:en,Finnisch:fi,Franzoesisch:fr,Griechisch:el,Hebraeisch:he,Japanisch:ja,Hollaendisch:nl,Italienisch:it,Indonesisch:id,Koreanisch:ko ,Kroatisch:hr,Litauisch:lt,Norwegisch:nn,Polnisch:pl,Portuguiesisch:pt,Rumaenisch:ro,Russisch:ru,Slovakisch:sk,Spanisch:es,Syrisch:ar-SY,Tuerkisch:tr,Ungarisch:hu,Vietnamesisch:vi,Wallisisch:cy"
yad --title="Sprachauswahl" --form --separator="," --item-separator="," --field="Ausgangssprache:CBE" --field="Zielsprache:CBE" "$Sprachen" "$Sprachen" \
"$Ausgangssprache" "$Zielsprache" > /tmp/config
ret=$?
if [[ $ret -eq 1 ]]; then
rm /tmp/config; exit 0
fi
ausgang=`cat /tmp/config | awk -F',' '{print $1}'`
ziel=`cat /tmp/config | awk -F',' '{print $2}'`
echo $ausgang $ziel
# Umschluesselung auf das Sprachkuerzel
ausgangssprache=$(echo ${ausgang} | awk -F: '{print substr($2,0)}')
echo $ausgangssprache
zielsprache=$(echo ${ziel} | awk -F: '{print substr($2,0)}')
echo $zielsprache
# Text an google-api uebergeben
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=$ausgangssprache&tl=$zielsprache&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
# Uebergabe des uebersetzten Textes an Zenity
echo -e "Original text:" "$text"'\n' > /tmp/transnote
echo "Translation:" "$translate" >> /tmp/transnote
zenity --text-info --title="Translation" --filename=/tmp/transnote
# loeschen der temporaeren Dateien
rm /tmp/config
rm /tmp/transnote
exit
viel Spass auch damit
Johann
edit: dieses Script ist im Unterschied zu Script No. 1 eher für die Übersetzung einzelner Sätze geignet.