Сайт | Скачать | Видео | Wiki

Автор Тема: trans - Перевод текста по hotkey  (Прочитано 16063 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: trans - Перевод текста по hotkey
« Ответ #30 : 28 Октябрь 2019, 00:02:05 »
Поправил скрипт, теперь переведенный текст сохраняет форму оригинального.
Цитата
fileName="/tmp/trans.txt"

t=`xsel -o | trans -b -i`
echo -e "$t" > $fileName


yad --title="Перевод" --window-icon="logo-32" --text-info --filename=$fileName --text-align=left --wrap --geometry=500x300+50+370

rm $fileName

exit 0
« Последнее редактирование: 28 Октябрь 2019, 01:14:33 от krasnyh »

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
Re: trans - Перевод текста по hotkey
« Ответ #31 : 28 Октябрь 2019, 06:34:58 »
  Да. Так покороче, посимпатичнее.( ! да и "с форматированием" здорово)
По крайней мере для Yad~а.
  Нужно посмотреть "состыковку"(работоспособность) с urxvt-вариантом .

upd:
про форматирование - попробовал - не заметил - нужно еще пробовать, "тестировать..." - подзапутался в файлах/текстах . ! Здорово "форматирует"  :)
« Последнее редактирование: 28 Октябрь 2019, 06:54:59 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
Re: trans - Перевод текста по hotkey
« Ответ #32 : 18 Август 2020, 08:27:21 »
"Консольный вариант" (может практическое применение не так и часто... )
- на IceArch-сборке есть :
Код
alias trc='echo "текст для перевода:" ; read t ; echo $t > /tmp/tr-c.txt && trans -b -i '/tmp/tr-c.txt' ; rm /tmp/tr-c.txt '
(есть алиас и для обратного перевода)

ps
- тут конечно есть "момент" - главное "управляющих вводов" при копировании не попрохватывать
« Последнее редактирование: 18 Август 2020, 09:38:31 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: trans - Перевод текста по hotkey
« Ответ #33 : 19 Август 2020, 06:54:07 »
В магос на хоткеях висит такой переводчик:
translate_rus_en()
{
  [ "$1" == "passive" ] && mdialog --passivepopup "$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$(xclip -o | sed "s/[\"'<>]//g")&sl=auto&tl=en" | sed 's/\[\[\[\"//' | cut -d \" -f 1)"
  [ "$1" == "msgbox" ] && mdialog --msgbox "$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$(xclip -o | sed "s/[\"'<>]//g")&sl=auto&tl=en" | sed 's/\[\[\[\"//' | cut -d \" -f 1)"
  [ "$1" == "firefox" ] && xclip -o | sed -r '2~1d;s/(^\s+|\s+$)//g;s/%/%25/g;s/#/%23/g;s/\$/%24/g;s/&/%26/g;s/\+/%2B/;s/,/%2C/g;s/:/%3A/g;s/;/%3B/g;s/=/%3D/g;s/\?/%3F/g;s/@/%40/g;s/\s/+/g' | awk '{print "translate.google.com/translate_t?hl=ru#ru|en|" $1}' | xargs firefox -new-tab
}

Тут 3 варианта, со временем перевод без браузера сломался из-за того, что гугл временами капчу подсовывает и с хоткеев убрали, остался только последний вариант с файрфоксом. Со стороны юзера выглядит так: выделяешь в любой программе строку которую нужно перевести и жмешь win+> (это рус-en, в обратную сторону win+<). Открывается окно с переводом в фоксе. Предыдущие (нерабочие) аналогично, но вывод не в окно браузера, а в пассивное или обычное окошко.
Похожим образом работает win+g - поиск в гугле выделенного фрагмента текста.


Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
Re: trans - Перевод текста по hotkey
« Ответ #34 : 20 Август 2020, 07:23:38 »
- тут 'trans' в получившемся в результате(совместных усилий) скрипте-обертке - работает вполне нормально.
Т.е. "нормально" "на повседневку" - автоопределение направления перевода отрабатывает( как-то и с японского доводилось переводить).
Работает конечно и на разных сборках( скрипт+xsel + trans+yad[ можно и без yad]).   (32-bit: xsel, trans,(? yad) от "старого ПРА" работают и на "новых" рус-Паппи-сборках) .
  В параметрах скрипта вытавлен(т.е. по умолчанию) гуглоперевод. (на АрчРуФоруме были разговоры про что-то нездоровое с api-yandex-переводчика - тут на скрипте пока не проверял, а там был разговор про другой скрипт).
   Было дело - когда лезешь во внутренности скрипта - "играешься" параметрами( в течении сессии) - иногда глючит.
   Повторюсь, на повседневку - без нареканий.
   
   имхо - "для большего" - Crow Translate (когда-то тогда у меня не собирался для ПРА - по итогу - враппер-для-trans).
   Есть пакет в Арче. С гуем. С хоткеями("родной хоткей вызова" - только при запущенной проге; но какое-то время на Ледяном вызывался "своим" хоткеем "с нуля").
   Переводит в различных направленях отменно .
   (могу ошибаться, но вроде just-X...)
« Последнее редактирование: 20 Август 2020, 08:03:03 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн Neyel

  • Ветеран
  • *****
  • Сообщений: 1548
  • Репутация: +28/-0
Re: trans - Перевод текста по hotkey
« Ответ #35 : 21 Август 2020, 07:51:52 »
sed -r '2~1d;s/(^\s+|\s+$)//g;s/%/%25/g;s/#/%23/g;s/\$/%24/g;s/&/%26/g;s/\+/%2B/;s/,/%2C/g;s/:/%3A/g;s/;/%3B/g;s/=/%3D/g;s/\?/%3F/g;s/@/%40/g;s/\s/+/g' | awk '{print "translate.google.com/translate_t?hl=ru#ru|en|" $1}'
Не могли бы Вы прокомментировать эту строку параметров sed (для саморазвития)
« Последнее редактирование: 21 Август 2020, 08:22:03 от Neyel »

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: trans - Перевод текста по hotkey
« Ответ #36 : 21 Август 2020, 14:55:12 »
Конкретно эту строку я вероятно спер где-то на просторах, уже не вспомню. Но разобраться можно, там просто много sed'ов подряд через ";" в итоге получается строка в формате GET запроса.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: trans - Перевод текста по hotkey
« Ответ #38 : 21 Август 2020, 16:21:24 »
прокомментировать эту строку параметров sed
см. нашу вики

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
Re: trans - Перевод текста по hotkey
« Ответ #39 : 21 Август 2020, 17:06:26 »
trans-yad-4.sh - "наглядно в Иксах":

----------
2krasnyh:
- у тебя случайно нет "модуля с внесением к.-либо последних правок"?
( я какие-то модули тут в Теме прикреплял - не уверен, что с "последними рихтовками")
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: trans - Перевод текста по hotkey
« Ответ #40 : 21 Август 2020, 17:11:50 »
Плюс там с кодировкой бы пошаманить, а то знак "=" отображается как u003d.
Если только костылить:
Цитата
fileName="/tmp/trans.txt"

t=`xsel -o | trans -b -i | sed -e 's/u003d/=/; s/u200bu200b//'`
echo -e "$t" > $fileName

yad --title="Перевод" --window-icon="logo-32" --text-info --filename=$fileName --text-align=left --wrap --geometry=500x300+50+370

rm $fileName

exit 0



Проверка:
For the modesetting driver, this method of disabling DRI3 does not work. Instead, one can set the environment variable LIBGL_DRI3_DISABLE=1.

Было:
Для драйвера настройки режима этот метод отключения DRI3 не работает. Вместо этого можно установить переменную среды LIBGL_DRI3_DISABLE u003d 1.
Стало:
Для драйвера настройки режима этот метод отключения DRI3 не работает. Вместо этого можно установить переменную среды LIBGL_DRI3_DISABLE = 1.


p.s. В качестве переводчика скрипт translate-shell использует Google и там ограничение на количество запросов, после которых идет временный бан.
Можно менять Translator (trans -e), но yandex не рабочий, а bing не привычен. 
Цитата
$ trans -S
  aspell
* google
  bing
  spell
  hunspell
  apertium
  yandex
« Последнее редактирование: 27 Октябрь 2020, 19:56:54 от krasnyh »

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
Re: trans - Перевод текста по hotkey
« Ответ #41 : 21 Август 2020, 17:19:48 »
bing не привычен
+ у меня вроде "просил" 'явное направление перевода'.
--------------------
на "гугл-ограничения по количеству" пока не нарывался.
------------
по яше - наверное - https://archlinux.org.ru/forum/post/233265/
-----
ps
? "гугл-ограничения по количеству" - это "на сессию"? (/или "как-то по id" определяется...)
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: trans - Перевод текста по hotkey
« Ответ #42 : 21 Август 2020, 17:26:19 »
Скорее всего, это связано с тем, что Google блокирует запросы с вашего IP-адреса за чрезмерное использование его службы. Обычно это происходит, когда вы переводите большой файл. (c)
Ссылка на ответ разработчика.
« Последнее редактирование: 21 Август 2020, 18:24:07 от krasnyh »

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
  • Автор темы
Re: trans - Перевод текста по hotkey
« Ответ #43 : 21 Август 2020, 17:31:50 »
ограничение на количество запросов, после которых идет временный бан.
http://file.puppyrus.org/users/dialog-man-page_en-ru_kn01.html - тогда "с дуру на радостях" - количество символов не считал ( # "беспрепятственно". Один раз ходил "чай/курить".)
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: trans - Перевод текста по hotkey
« Ответ #44 : 21 Август 2020, 17:32:57 »
"модуля с внесением к.-либо последних правок"?
Прикрепил. Там иконки для замены зеленой колбы от yad, убран xsel (он у меня отдельным пакетом) и правлен только trans-yad-4.sh.