Skip to content

Instantly share code, notes, and snippets.

@ganchclub
Created July 17, 2019 05:21
Show Gist options
  • Save ganchclub/a9a7f37fd524b41e6c29e2c041bdc0fd to your computer and use it in GitHub Desktop.
Save ganchclub/a9a7f37fd524b41e6c29e2c041bdc0fd to your computer and use it in GitHub Desktop.
Перевод выделенного текста с любого языка на русский (можно изменить) с помощью Google Translate API
# Перевод выделенного текста с любого языка на русский (можно изменить) с помощью 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