- PVSM.RU - https://www.pvsm.ru -
В процессе возни с xfce4-dict [1] набрёл на хабрастатью почти трёхлетней давности: Перевод выделенного текста с любого языка на русский [2]. Решение оказалось очень простым, но что-то не заладилось у меня с гуглопереводчиком. То ли потому, что очень быстро он начал выдавать капчу, то ли потому, что денег хочет… Разбираться было лень, поэтому просто переписал исходный скрипт с использованием API Яндекс.Перевода [3].
Для начала нужно залогиниться в Яндекс и получить ключ [4]. Ключ генерируется моментально, никто никаких допросов не устраивает и ничего ждать не надо. Само собой, перед этим надо прочитать и принять пользовательское соглашение :)
Ну а дальше всё просто:
#!/bin/sh
key="вставляем сюда свой ключ API"
text="$(echo $(xsel -o) | sed "s/["'<>]//g")"
translate="$(wget -qO - "https://translate.yandex.net/api/v1.5/tr.json/translate?key=$key&text=$text&lang=ru")"
notify-send -u critical "$text" "$(echo $translate | sed 's/.*["(.*)"].*/1/')"
Конечно, можно сделать всё куда красивей: и со вставкой перевода в буфер обмена, и с красивым парсером ответа (Яндекс может отдавать как JSON[P], так и XML [5]), и с более вдумчивой предварительной обработкой текста, и с бОльшими фрагментами в POST, и с прочими радостями. Но это уже дело вкуса. А подробное обсуждение юзкейсов и разные реализации есть в исходной статье. [2]
Автор: kloppspb
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/89213
Ссылки в тексте:
[1] xfce4-dict: http://goodies.xfce.org/projects/applications/xfce4-dict
[2] Перевод выделенного текста с любого языка на русский: http://habrahabr.ru/post/137215/
[3] API Яндекс.Перевода: https://tech.yandex.ru/translate/
[4] получить ключ: https://tech.yandex.ru/keys/get/?service=trnsl
[5] JSON[P], так и XML: https://tech.yandex.ru/translate/doc/dg/reference/translate-docpage/
[6] Источник: http://habrahabr.ru/post/256063/
Нажмите здесь для печати.