10 месяцев назад История
    README.md

    Popup Translate

    Срипт переводящий текст из буфера обмена на выбранный язык. Показывает перевод как всплывающее уведомление под курсором.

    Можно выделять и переводить любой произвольный текст, до котрого дотянется мышка. Не нужно копировать явно текст в буфер обмена достаточно просто его выделить и нажать горячую клавишу запуска сприпта poptrans.

    Зависимости

    apt install lua xclip xsel xdotool aosd-cat translate-shell
    

    Установка и удаление

    Глобально

    sudo make install
    sudo make uninstall
    

    Локально

    make PREFIX=$HOME/.local install
    make PREFIX=$HOME/.local uninstall
    

    Независимо

    make DESTDIR=$HOME/some_you_dir install
    make DESTDIR=$HOME/some_you_dir uninstall
    

    Настройка

    При мервом запуске формуруется конфиругационный файл ~/.config/poptrans.cfg

    • lang_from с какого языка переводить
    • lang_to на какой язык переводить
    • copy_translated сохранять ли переведённый текст в буффер обмена
    • show_timer сколько времени показывать переведённый текст
    • follow_mouse показывать ли текст возле кусора мышки
    • popup_width максимальная ширина области с текстом
    • popup_offset_x смешение по горизонтали от курсора при показе перевода

    В случае ошибок при редактировании его можно сбросить, удалив файл конфигурации и создав новый просто запустив poptrans. Конфигурация содержит подсказки.

    Использование

    • poptrans -h/poptrans --help Вывод справки
    • poptrans Перевод текста из буфера обмена и его отображение
    • poptrans zh Переопределение конфигурации, перевод будет на китайский

    Если язык переоперделяется через коммандную строку то можно использовать как полное название языка так и сокращения, например ja или japanese

    Исходный язык, тот с коротого идёт перевод либо определяется автоматически силами утилиты translate-shell или задаётся явно в конфигурационном файле

    Сам скрипт предполагается “вешать” на горячую клавишу (например F7) при нажатии на которую будет произведён перевод. Удобно использовать несколько таких клавиш. Для перевода на разные языки например

    • F7 poptrans en переводить любой текст на английский
    • F8 poptrans ru переводить любой текст на русский
    • F9 poptrans ch переводить любой текст на китайскй

    На заметку

    Если менять под себя например выводить перевод через notify-send вместо aosd_cat важно не забывать ВСЕГДА пропускать данные через shell_escape() и когда они принимаются от программы и когда передаются программе. Если этого не сделать то может привести к печальным последствиям когда в терминале исполнится копипаста из например браузера.

    TODO

    • Перейти на использорвание lua-posix execv вместо io.popen?
    Описание

    Скрипт для перевода произвольного текста из буфера обмена

    Конвейеры
    0 успешных
    0 с ошибкой