Created
July 17, 2019 05:21
-
-
Save ganchclub/a9a7f37fd524b41e6c29e2c041bdc0fd to your computer and use it in GitHub Desktop.
Перевод выделенного текста с любого языка на русский (можно изменить) с помощью Google Translate API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Перевод выделенного текста с любого языка на русский (можно изменить) с помощью Google Translate API | |
# Для работы понадобятся следующие утилиты: | |
------------------------------------------------ | |
# xsel | |
$ sudo apt-get install libnotify-bin xsel | |
------------------------------------------------ | |
# jq | |
# Качаем для 64 bit | |
$ wget http://stedolan.github.io/jq/download/linux64/jq | |
# Качаем для 32 bit | |
$ wget http://stedolan.github.io/jq/download/linux32/jq | |
# Устанавливаем права на запуск | |
$ chmod +x ./jq | |
# Перемещаем куда надо | |
$ sudo mv ./jq /usr/bin/ | |
------------------------------------------------ | |
# Далее создаем bash скрипт с именем seltr и следующим содержанием: | |
------------------------------------------------ | |
!/usr/bin/env bash | |
q=$(xsel -o | sed "s/[\"'<>\n\t\r]//g" | sed 's/\[\[\[\"//' | cut -d \" -f 1) | |
query=$(echo -n $q | perl -pe's/([^-_.~A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg') | |
translate="$(echo $(curl "https://www.googleapis.com/language/translate/v2?key=AIzaSyBB94Ih-YRvIAVZCZ8dOFe8ZvpfODcb6-U&target=ru&q=$query") | jq '.data.translations[0].translatedText')" | |
notify-send -u critical "$(xsel -o)" "$translate" | |
------------------------------------------------ | |
# Сохраняем | |
# Устанавливаем права на запуск и перемещаем в необходимую директорию | |
$ chmod +x ./seltr && sudo mv ./seltr /usr/bin/ | |
# С помощью Keyboard -> Custom Shortcuts, назначаем комманду 'bash /usr/bin/seltr' на горячие клавиши. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment