45

Яндекс.переводчик для Linux на Python GUI

Довольно давно возникла необходимость в мультиязычном онлайн переводчике при закрытом браузере.

Нет, так то я и словарем в "особо тяжелых" случаях пользоваться не брезгую, но иногда приходится читать немаленький текст, и не все слова я знаю, как следствие теряется контекст.

Яндекс.переводчик для Linux на Python GUI Python, Linux, Gui, Habr, Длиннопост


Translate-shell вещь достаточно удобная, особненно, если пишешь, допустим, в Vi/vim. Переключился в соседнюю консоль и переводи.

Ключи простейшие и запоминаются легко.

Яндекс.переводчик для Linux на Python GUI Python, Linux, Gui, Habr, Длиннопост

Но этого как обычно было мало. Захотелось графики.

Работа в SublimeText и Zeal несколько удобней, нежели голая консоль.

Яндекс.переводчик для Linux на Python GUI Python, Linux, Gui, Habr, Длиннопост

Хм… Подумал-подумал, и решил прикрутить переводчик на горячую клавишу.

Выбор пал на gxmessage. Zenity меня не устроил, уж и не помню почему.

Был написан код:

Яндекс.переводчик для Linux на Python GUI Python, Linux, Gui, Habr, Длиннопост
И назначен на Ctrl+1. В IceWm это легко. Правим $HOME/.icewm/keyskey


"Ctrl+1" $HOME/progs/trans.sh

Некоторое время меня это устраивало. На "контрол+1" с английского, "контрол+2" на английский. Хорошо...

Яндекс.переводчик для Linux на Python GUI Python, Linux, Gui, Habr, Длиннопост

Но тут translate-shell начал давать сбои.

Яндекс.переводчик для Linux на Python GUI Python, Linux, Gui, Habr, Длиннопост

Не знаю, что произошло у разрабов, но меня это совсем огорчило.

Я решил, пора, давно на питоне не писал.


Недолгие поиски в гугл привели меня к Yandex.API, Python и GTK+ 3 в виде модуля gi.


Почему gi, ведь обычно писал на PyQt5? Он на моей машине работает значительно быстрее. Машина не новая, памяти тоже(по современным меркам) не ахти.

Яндекс.переводчик для Linux на Python GUI Python, Linux, Gui, Habr, Длиннопост
Модуль GTK+ 3 для python был для меня вновинку. Целый вечер разбирался с синтаксисом на сайтах раз, два и три.


Так родился код.


В итоге имею автопереводчик на горячей клавише.

Всем спасибо за внимание.


Оригинал здесь.

Программирование на python

866 постов11.9K подписчика

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу