Встраиваем переводчик в linux
В наше время наличие переводчика на компьютере является очень нужным и полезным делом. Существует довольно большой ряд готовых программ, которые предоставляют нужный функционал. Но многие из них являются платными или не очень удобными в использовании. Большинство из них использует ограниченный локальный словарь и многие словосочетания просто не переводит. Есть так же 2 больших гиганта онлайн-перевода, Яндекс и гугл переводчики. Они очень комфортны для использования а так же, как правило, предоставляют наиболее качественный перевод, по сравнению с локальными аналогами. Единственная проблема в их постоянном использовании — нужно держать их открытыми во вкладке браузера, что не очень удобно.
Скрипт переводчик
Для Linux, есть альтернативный вариант, который всегда очень удобен — можно написать все самим) В данном случае, будем осуществлять перевод, используя API яндекс-переводчика. Сам скрипт написан на bash.
Для начала, получаем ключ для обращения к API-переводчика. Сделать это можно по этой ссылке: https://tech.yandex.ru/keys/?service=trnsl
К слову, раньше ключ был вообще не нужен, но не так давно разработчики Яндекса решили его ввести, скорее всего в связи с увеличением числа запросов пользователей к сервису, а так же чтобы иметь возможность составлять статистику обращений.
Итак, получаем ключ — выглядеть он будет примерно так:
Получен 26.02.2016, валиден trnsl.1.1.20161226T233604Z.9913169248f89157.6775dba6953e3cbdc56f95170b0bb631797fbd8v (Важно! данный ключ не является настоящим, приведен в качестве примера )
#!/bin/bash
# translator_for_yandex_api
zenity_path="/usr/bin/zenity"
tmp_file="/tmp/translate.output.$$"
text=$(${zenity_path} --title "Ввести текст для перевода" --width=500 --entry --entry-text="$(xclip -o)" )
if [ $? -eq 0 ]
then
wget -O ${tmp_file} "https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20161226T233604Z.9913169248f89157.6775dba6953e3cbdc56f95170b0bb631797fbd8v&lang=ru-en&text=$text"
sed -i 's/"//g' ${tmp_file}
${_zenity} --width=600 --height=240 \
--title "Translation for $text" \
--text-info --filename=${tmp_file}
/bin/rm ${tmp_file}
fi
Скрипт можно привязать на горячую клавишу и вызывать одним нажатием при необходимости что-то перевести!)
Спаси-и-ибо! уже ооч долгое время никто не может мне на линукс прикрутить переводчик, все время ищу в режиме онлайн( И на моей улице будет праздник)
Мне кажется замудренно как то все тут с этим переводчиком. Зачем скрипты, просто нужна хорошая программа для вот и все. Ведь пользователю чем легче и быстрее тем лучше) Не каждый захочет разбираться со скриптами, проще кликнуть на программу , которая сделает все нужное. Чисто мое мнение.
Вячеслав — программу под себя так гибко настроить не получится)
ОО, ну наконец-то хоть кто-то помог!! спасибочки. Сама мало разбираюсь в этом — коллеги помогут)
Не очень понятно, но попробую разобраться, спасибо ))
Ссылку поправьте на эту https://tech.yandex.ru/keys/get/?service=trnsl
Не пашет на минте, выскакивает окно ввода текста, пишу слово любое и ОК и на этом всё — окно исчезает просто.
Сергей, Если запускать скрипт из консоли — то будет видно — где ошибка) Если что, пишите, помогу разобраться.
./translate.bash: строка 12: —width=600: команда не найдена