81

Translate Shell. Перевод текста по hotkey или - а так ваша винда может?

Пакет, точнее скрипт, Translate Shell переводит текст с помощью онлайн переводчиков Google Translate (default), Bing Translator, Yandex.Translate, DeepL Translator, Apertium.


Возможности обширные.

В нашем случае - будем переводить любой текст в любом окне в любом приложении.

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


Подробности можно посмотреть на оф. сайте (github), его же Wiki и в man-e.

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

В итоге - вывод перевода через kdialog по горячим главишам. Все достаточно просто на самом деле и без всяких вам zenity и notify-send.

1. Скачиваем скрипт


В свежих дистрибутивах версия Translate Shell 0.9.5 и 0.9.6. Поэтому просто


$ sudo apt install translate-shell


В 16.04 (а я использую KDE Neon) версия 0.9.2, поэтому загружаем с git (0.9.6)


$ wget git.io/trans
$ chmod +x ./trans
$ sudo cp trans /usr/bin/


Из обязательных зависимостей - gawk. Рекомендуется еще curl, что-либо из mplayer, mpv, mpg123, eSpeak, что-либо из less, more, most, еще rlwrap, и aspell или hunspell

2. Проверяем скрипт

$ trans artful aardvark


Краткий вывод:

$ trans -b artful aardvark

Послушать в оригинале:

$ trans -sp -b artful aardvark

3. Пишем скрипт на bash


Создаем в любом месте файл

touch /home/$USER/.translate_textbox


со следующим содержимым:

#!/usr/bin/env bash
a=`xsel -o | trans :ru -no-ansi -b`
echo -e "$a" > /tmp/kdetrans
kdialog 500 300 --title 'Перевод' --textbox /tmp/kdetrans


Назначаем исполняемым


$ chmod +x /home/$USER/.translate_textbox

4. Назначаем hotkey


Параметры системы - Комбинации клавиш - Специальные действия - Изменить - Новый - Глобальная комбинация клавиш - Команда или адрес.

Имя: любое (tlanslate box).

Активация: жмем комбинацию (у меня Meta+`)

Действие: /home/ЮЗЕР/.translate_textbox (выбрать файл через проводник)

Применить.

5. Проверяем результат


Выделить любой текст на любом языке, в любом приложении, нажать комбинацию клавиш.

Можно выделять текст. Будет висеть, пока не закроете.

Translate Shell. Перевод текста по hotkey или - а так ваша винда может? Linux, Перевод, Linux и Windows, Linux vs windows, Kde, IT, Ubuntu, Kde neon, Длиннопост
Translate Shell. Перевод текста по hotkey или - а так ваша винда может? Linux, Перевод, Linux и Windows, Linux vs windows, Kde, IT, Ubuntu, Kde neon, Длиннопост

Плюшки


Тоже самое, но в popup (сообщение в системном трее)

Пропадает через некоторое время, но оставляет запись в системных уведомлениях


#!/usr/bin/env bash
a=`xsel -o | trans :ru -no-ansi -b -l`
echo -e "$a" > /tmp/kdetrans
kdialog --title 'Перевод' --passivepopup "`cat /tmp/kdetrans`"

Почти тоже самое, но можно послушать оригинал.

#!/usr/bin/env bash
a=`xsel -o | trans :ru -no-ansi -b`
echo -e "$a" > /tmp/kdetrans
kdialog --title "Перевод" --yesno "`cat /tmp/kdetrans`" \
--yes-label "Произнести" \
--no-label "Завершить"
button="$?";
if [ "$button" = 0 ]; then
xsel -o | trans -sp -b
elif [ "$button" = 1 ]; then
exit 0;
else
kdialog --error "Ошибка";
fi;
Translate Shell. Перевод текста по hotkey или - а так ваша винда может? Linux, Перевод, Linux и Windows, Linux vs windows, Kde, IT, Ubuntu, Kde neon, Длиннопост

Если не нравится женский голос, можно изменить на мужской от Яндекса.

в части
button="$?";
if [ "$button" = 0 ]; then
xsel -o | trans -sp -b
Заменить на
xsel -o | trans -e yandex -sp -n m

Нагло стыбрено с kubuntu.ru оригинал - https://kubuntu.ru/node/14432


спасибо автору Sabalt


Очень шикарная вещь!

GNU/Linux

926 постов15K подписчиков

Добавить пост

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

Все дистрибутивы хороши.

Будьте людьми.

Подробнее