Последнее время приходится читать много текста на английском языке, поэтому достаточно удобно выделить непонятное слово и получить его перевод. Реализовал это с помощью яндекса для оконного менеджера ratpoison:
#!/bin/sh yandex_key="ключ" #получаем текст, выделенный мышкой, добавив опцию -b можно #получить текст, находящийся в буфере обмена text=`xsel -o` #если строка пустая if [ -z $text ] then #то нечего переводить output="Нет слова для перевода" #иначе else #удаляем некоторые символы - "'<>: и $, затем выделяем первое слово #убрав | awk '{print $1}' - работаем со всем текстом, а не только с первым словом text=`echo $text | sed "s/[\"\'<>:$]//g" | awk '{print $1}'` #переводим в яндексе текст translate_pre=`wget -qO - "https://translate.yandex.net/api/v1.5/tr.json/translate?key=$yandex_key&text=$text&lang=ru"` #удаляем некоторые специальные символы из него translate=`echo $translate_pre | sed 's/.*\[\"\(.*\)\"\].*/\1/'` #заносим в переменную для вывода output=$translate fi #выводим сообщение в ratpoison ratpoison -c "echo Перевод $text: $output"
Использование перевода выделенного текста в стандартной Ubuntu 16.04
Установить программу xsel:
# apt-get install xsel
После чего скопировать текст скрипта в файл, к примеру ~/translate.sh и изменить последнюю строчку вывода в ratpoison на:
notify-send -u critical "Перевод: $text" "$output"
Затем необходимо назначить горячую клавишу в Ubuntu, готово!
Ваш комментарий будет первым