онлайн переводчик "офлайн" приложений в i3wm

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
olecya
Сообщения: 855
ОС: debian, fedora (i3-wm)

онлайн переводчик "офлайн" приложений в i3wm

Сообщение olecya »

Незаменимый помощник при переводе в браузере это конечно дополнение гугл-переводчик. Достаточно выделить нужное слово и без дополнительных движений перевод возникает во всплывающем окошке. Если надо прослушать есть и кнопка озвучки. Это очень краткий перевод, обычно самое распространенное слово или один перевод выделенного блока слов. При чтении пдф учебников или любого текста я пользуюсь переводчиком стардикт с огромным словарем Мюллера. Там тоже настраивается "механическая" озвучка и даже можно закинуть надиктованный пакет WyabdcRealPeopleTTS (не помню где я уже его взяла, могу выложить если будет нужен). Так же я настроила автоматически всплываемое окно перевода с одновременной озвучкой. В стардикте вывод более подробный и это сказывается на качестве словарного запаса. Когда есть сомнения в правильном переводе слова в контексте. Но вот например много сомнений в механической озвучке скажем имен собственных так же как древнеегипетских и древнегреческих названий там где мог бы свое слово сказать гугл. Так же при переводе возникает необходимость сверится с переводом всего предложения целиком, а стардикт это всего лишь словарь. Дополнительная коммуникация с браузером далека от удобства. Сегодня я настраивала систему и переносила данные на новый ноутбук и наконец попыталась соединить все воедино. Вот что у меня получилось.
Есть в репозитории федоры консольный переводчик translate-shell, утилита работающая с буфером обмена xsel и уже установленный notify-send. При задании параметров переводчику, можно получить практически то же, что и в браузере да еще с автоматической озвучкой.

Код: Выделить всё

cat /usr/local/bin/tran

Код: Выделить всё

#!/bin/bash
text=$(/usr/bin/trans -b -s en -t ru -speak "$(xsel -o)")
notify-send -i info "${text@U}"
${text@U} работает так же как ${text^^} то есть переводит буквы в верхний регистр, так как в notify-send я не смогла изменить форматирование. Подойдет любой инструмент если оболочка другая. Теперь если выделить слово или предложение и запустить скрипт то можно услышать правильное (с точки зрения гугла) произношение и увидеть в сообщении перевод. Чтобы запускать этот скрипт можно например назначить выполнение комбинации клавиш. В i3 достаточно прописать строчку в конфигурационный файл:

Код: Выделить всё

bindsym button3 exec tran
По этой команде если будут сомнения в переводе или возникнет необходимость в переводе целого предложения или при трудности с правильным произношением достаточно правой кнопкой мыши щелкнуть на заголовке активного окна.
Спасибо сказали:
Аватара пользователя
olecya
Сообщения: 855
ОС: debian, fedora (i3-wm)

Re: онлайн переводчик "офлайн" приложений в i3wm

Сообщение olecya »

olecya писала:
12.12.2021 16:50
так как в notify-send я не смогла изменить форматирование.
Это делается в конфиге dunst /etc/dunst/dunstrc
Шрифт, размер, цвет, пути к иконкам. Естественно влияет глобально и на все системные уведомления.
Добавлено (23:24):
Заменила шрифт:
font = monospace 8
на

Код: Выделить всё

font = DejaVu Sans Mono 12
И убрала перевод всех символов в верхний регистр. Добавила путь к лого гугл переводчика. Это уже в самом скрипте.
gcolor_trans_32.png
Перенесла конфиг в пространство пользователя ~/.config/dunst/dunstrc

Код: Выделить всё

man 5 dunst
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали: