Exebeche
@Exebeche
Осваиваю программирование

Как изменить скрипт работающий в Kubuntu для работы в Ubuntu 18.04?

Нашел отличную утилиту для перевода выделенного текста в окне любой программы - translate-shell и отличную статью (тык) по его использованию, но.. Скрипт приведенный в статье работает только для KDE - выводит результат в kdialog.
В Ubuntu же для попапов используется notify-send, как я выяснил из другой статьи (тык), в которой используется похожий метод, но без translate-shell.
Хотелось бы использовать translate-shell по полной и видеть сообщение в попапе (выделенный текст + перевод) и преобразовать скрипт для Ubuntu и notify-send.

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


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

Еще интересно как в попапе notify-send вызвать и звук произношения выделенного - при использовании translate-shell в консоли все чудно звучит, а при вызове скрипта с попапом звука нет.

Было бы чудесно узнать как это все приручить.
З.Ы.
Может быть мой вопрос, кому нибудь и без ответа пригодится т.к. быстрый перевод удобен не только в Android, но и на десктопе.
Особенно если хочешь выучить язык.
  • Вопрос задан
  • 186 просмотров
Решения вопроса 1
Exebeche
@Exebeche Автор вопроса
Осваиваю программирование
Танцы с бубном РУЛЯТ!!!
Победил это дело.
Озвучки не было т.к. тупо скопипастил и не обратил внимания на ключи - ключь
-sp
(source, play) озвучивает язык оригинала.
Теперь еще бы на досуге разобраться где хранятся стили попапа, но это уже будет другая история.
После нехитрых экспериметнов было получено:
#!/usr/bin/env bash
text="$(xsel -o)" # Переводимый текст
translate="$(xsel -o | trans :ru -no-ansi -sp -b)" # Результат с произношением оригинала (ключь -sp)
# echo "$translate" | xclip -selection clipboard 
notify-send --icon=info "$text" "$translate" # Вызов popup с нужными данными


Теперь у меня и в телефоне и на ноуте есть быстрый перевод от Google Translate
Надеюсь еще кому-то пригодится.
З.Ы.
Кому пригодится - не поленитесь жамкнуть "Нравится" и улучшить карму
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Вообще-то в Убунтах из коробки есть GoldenDict, позволяющий указать строку запроса в качестве словаря и работающий по двойному Ctrl-C в любой программе по умолчанию.
Вообще без бубнов и гамака...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы