Переводим с помощью Яндекс

от автора

В процессе возни с xfce4-dict набрёл на хабрастатью почти трёхлетней давности: Перевод выделенного текста с любого языка на русский. Решение оказалось очень простым, но что-то не заладилось у меня с гуглопереводчиком. То ли потому, что очень быстро он начал выдавать капчу, то ли потому, что денег хочет… Разбираться было лень, поэтому просто переписал исходный скрипт с использованием API Яндекс.Перевода.

Для начала нужно залогиниться в Яндекс и получить ключ. Ключ генерируется моментально, никто никаких допросов не устраивает и ничего ждать не надо. Само собой, перед этим надо прочитать и принять пользовательское соглашение 🙂

Ну а дальше всё просто:

#!/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), и с более вдумчивой предварительной обработкой текста, и с бОльшими фрагментами в POST, и с прочими радостями. Но это уже дело вкуса. А подробное обсуждение юзкейсов и разные реализации есть в исходной статье.

ссылка на оригинал статьи http://habrahabr.ru/post/256063/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *