red |
|
Темы:
30
Сообщения:
1517
Участник с: 31 августа 2011
|
временами на форуме(и не только) всплывают разговоры о том как и чем перевести выделенный текст или даже о написании нужной приблуды встряхнув немного пыли с кода и приведя в божеский вид решил поделится простеньким скриптом дабы не страдать самому а разделить ношу поровну работает как под Xorg так и под Wayland переводит текст который выделен(только для Xorg перевод осуществляется с помощью онлайн сервисов перевода Google и Yandex (для яндекс нужен ключ который легко можно получить по ссылке) вешаем всё это дело на хоткей и наслаждаемся жизньюпод вяленым гномом работают оба варианта как dscp=wayland , так и dscp=xorg upd1 обновил скрипт + реализована возможность использовать конфиг файл [необязателен] + частично реализована работа с ключами командной строки + добавлен еще один графический интерфейс (Tk [wish] ) для вывода перевода upd2 обновление + добавлен графический интерфейс yad + реализована работа через конвейер + добавлены ключи и их реализация-b, --buffer-out помещать перевод В буфер -e, --closing-time секунд до закрытия окна с переводом -k, --get-keys показать список ключей и их значения --config использовать указанный конфиг-файл upd3
upd4
upd5 основное нововедение касается возможности использовать терминал для отображения перевода что позволяет избавится от тяжеловестных графических интерфейсов. Данная возможность полностью реализована для терминала alacritty, хотя ни что не мешает вместо него использовать какой-нибуть другой терминал, изменения должны быть минимальны Закрытие происходит через нажатие клавишы q (используется less для просмотра), для alacritty также можно настроить закрытие через клавишу ESC, добавив в конфиг ~/.config/alacritty/alacritty.yml строку:
за включение отвечает флаг --ui terminal конфиг ui=terminal помимо прочего добавлен флаг(+ в конфиге) --CxR отвечающий за количество колонок и строк в окне терминала с переводом только не путать ui=terminal и ui=cli , cli используется для непосредственной работе в терминале или использование в скриптах, также там не используется форматирование текста а передается как есть, в terminal же используется par шикарная утилита для форматировани, до этого использовал гнутую fmt но она плохо работает с русским да и не имеет поддержки юникода upd6 в текущем скрипте поправил несколько мелких ошибок, и реализовал возможность автоматического подгона высоты(строк) терминала(ui=terminal) под выводимый перевод для данного скрипта это скорее всего будут последние правки |
wau |
|
Темы:
168
Сообщения:
1245
Участник с: 11 октября 2013
|
Спасибо, воспользовался, под иксами. Как я понял, при наличии скопированного в буфер и потом при просто выделении (первичный буфер) могут быть конфликты - случаются выдачи null. |
heider |
|
Темы:
0
Сообщения:
83
Участник с: 09 декабря 2015
|
Спасибо, очень полезно. Уже вставил в свой dwm, который король хоткеев. Сократил многое, конечно. ) |
wau |
|
Темы:
168
Сообщения:
1245
Участник с: 11 октября 2013
|
жадные они, всего-то было с десяток запусков скрипта и уже получил - В связи с большим количеством запросов, поступающих с Вашего IP-адреса, доступ к бесплатному сервису DeepL Переводчик был временно отключен. Попробуйте еще раз позже, подпишитесь на DeepL Pro или свяжитесь с нами по адресу block@DeepL.com, указав свой IP-адрес. [IP: ] |
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
wau, нифигасе ))) ты по переводил....
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
red |
|
Темы:
30
Сообщения:
1517
Участник с: 31 августа 2011
|
wau wauэто из за ограничений deepl, тоже словил когда временно заблокировало, null в программе и та надпись что вы привели на их сайте, проходит довольно быстро, это происходит если слать им через программу большой текст, а слова и маленькие предложения вроде нормально пропускает, если напрямую через их сайт слать большой текст таких проблем нету, хм, надо попробовать разобраться как это обойти nafanjaв принципе можно, раньше так и делал, правда из за обилия этих скобочек немного падает восприятие кода nafanjaну langOut понятно как определять заглянув к примеру в тот же localectl, в старом скрипте даже была такая функция, хотя большого смысла в ней не вижу, для простенького скрипта излишне, а для суровой программы недостаточно, например, русскоговорящий приемлемо владеющий англ. установит английскую локаль и us/ru раскладку и пойми тут какой язык родной рус или англ. для langIn еще туманнее, единственное что неплохо будет добавить это авто определение языка переводимого текста, для яндекс точно есть да и у других вроде видел upd: dscp и ui тоже в принципе можно определить но простенький скрипт такими темпами перестанет быть простеньким ) nafanjaкогда еще под гномом сидел и тестировал переводчик первым делом пробовал notify-send, но во первых он не очень хорошо подходит для вывода много строчных текстовых данных, во вторых он не везде работает, в том же sway. nafanjaбыл такой, правда json-овский, реши урезать для упрощения, думаю здесь подойдёт обычный текстовый в баш стиле чтобы можно было через source подключить |
wau |
|
Темы:
168
Сообщения:
1245
Участник с: 11 октября 2013
|
пожалуй что таки использование в скрипте едепела нерабочее решение, а жаль. |
vasek |
|
Темы:
47
Сообщения:
11853
Участник с: 17 февраля 2013
|
red, сегодня решил опробовать скрипт-переводчик - понравился ... просто и удобно Но есть одно предложение - как относишься к тому, чтобы при каждом переводе не открывать новое окно диалога, а очищать старое и выводить перевод в этом же окне? Возможно это и лишнее и только усложнит скрипт.
Ошибки не исчезают с опытом - они просто умнеют
|
anode |
|
Темы:
8
Сообщения:
1019
Участник с: 30 августа 2011
|
vasek, red дал пример простого и элегантного решения задачи быстро посмотреть перевод слова/предложения, не! доколебались со скобками, а имена че не прописными, а языки бы менять и т.д. и т.п. В заглавии ж сказано - "нежно" ))) red еще раз спасибо! |
wau |
|
Темы:
168
Сообщения:
1245
Участник с: 11 октября 2013
|
а deepl только меня в этом скрипте обнуляет? - теперь даже null не пишет, просто пустое окно. При этом в браузере работает. В сркрипте в части формирования обращения к едеплу есть вроде как идентификаторы - стр. 39
стр. 49
что это за идентификаторы? |