Заработай на задачках

Последнее время приходится читать много текста на английском языке, поэтому достаточно удобно выделить непонятное слово и получить его перевод. Реализовал это с помощью яндекса(ключ можно получить по этой ссылке) для оконного менеджера 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:
Назначение горячей клавиши в Ubuntu 16.04

И, готово:
Перевод слова в Ubuntu 16.04

Я буду очень рад комментарию!

Не переживайте, e-mail нигде не отображается. Обязательные поля помечены *

Навигация по записям