Экранный переводчик

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

  • 13 Ответ(ы)

    Спасибо за ответ, но у меня есть несколько вопросов:

    • Каким из предстваленных вами вы пользуетесь?
    • Как пользоваться ScreenTranslator?
    • Какой нужно написать скрипт что бы сейчас пользоваться методом «Перевода выделенного текста…»?

    Спасибо за ваши ответы.

    Пользуюсь ScreenTranslator: горячие клавиши Ctrl+Alt+Z, выделяем область перевода и Ждемс…

    Перевода выделенного текста (Источник) Скрипт: #!/usr/bin/env bash notify-send -u critical «$(xsel -o)« «$(wget -U «Mozilla/5.0» -qO — «http://translate.google.com/translate_a/t?client=t&text=$(xsel -o | sed «s/[\»‘<>]//g»)&sl=auto&tl=ru» | sed ‘s/\[\[\[\»//’ | cut -d \» -f 1)».

    Как то у меня не получается. Я поставил ScreenTranslator он появился в менюшке даже, я на него нажимаю — вроде что бы запустился, ничего не происходит, а потом выделяю текст нажимаю Ctrl+Alt+Z и опять ничего не происходит.

    Со вторым вариантом тоже разбирался там сейчас гугул что то намудрил что бы просто так ответы не посылать на такие запраосы, в итоге тоже не получилось.

    Блин помогите плиз.

    Вот нашел рабочий вариант (Источник), сейчас буде теснить translate-shell

    Спасибо большое! Но первый вариант не подходит, у нас идиоты на Украине заблокировали Яндекс, а вот второй вариант буду смотреть — разбираться, спасибо ещё раз, обязательно напишу инструкцию как и что если получиться.

    Можно еще установить (Источник),(Источник). На худой конец через wine пробовать устанавливать: Установка wine (staging) в Deepin
    Установка wine (staging) в Deepin:
    sudo dpkg —add-architecture i386
    wget https://dl.winehq.org/wine-builds/Release.key

    sudo apt-key add Release.key

    Добавляем строчку в /etc/apt/sources.list

    deb https://dl.winehq.org/wine-builds/debian/ sid main

    Затем sudo apt-get update sudo apt-get install winehq-staging
    sudo apt-get install winetricks
    Создание префикса x32:
    WINEARCH=win32 WINEPREFIX=~/.wine winecfg

    Значит получилось сделать перевод, но не до конца того что хотелось.По мере того как буду делать улучшения буду менять инструкцию.

    Для начала нам нужен переводчик который работает из под командной строки.

    Скачиваем его вот от сюда. https://github.com/soimort/translate-shell

    Я сделал по другому, перешел на сайт и там скачал скрипт https://www.soimort.org/translate-shell/trans   после чего положил этот скрипт в /usr/bin и проверил работоспособность этого скрипта. Да не забудьте поставить галочку в свойствах что это исполняемый файл. Проверить работоспособность можно с помощью команды $trans -b :ru «Hello world!». После этого как убедились что пришел перевод начинаем читать инструкцию вот тут http://tuksik.ru/translate-google-linux/ , но только меняем скрипт который там указан на следующий

     #!/usr/bin/env bash
     notify-send -u critical "Перевод:" "$(trans -e google -b :ru "$(xsel -o)")"
     

    Вот в приципе и всё.

    Есть конечно много ньюансов которые хотелось бы изменить, но оснавная задача решена и оставленно место для улучшения.

    Отдельное и большое спасибо Юрию.

    Улучшить хотелось бы  что бы подсказка всплывала около курсора, а так же убрать звук когда она появляется.

    Так же очень не приятная особенность что размер сообщения в Deepin — не меняеться от кол-ва текста и выходит в случае когда пытаешься перевести сразу большой кусок — перевод обрезается.

    Так же замечена странное поведение, ShortCuts не работают на разных раскладках клавиатуры — это фича?

    Перевод в отдельном окне добавить после всего скрипта:

    
    echo -e "Original text:" "$text"'\n' > /tmp/notitrans
    
    echo "Translation:" "$translate" >> /tmp/notitrans
    
    zenity --text-info --title="Translation" --filename=/tmp/notitrans
    
    

    Тут теперь с ним играть чтобы вспыхивал под курсором и т.д.

    Код на рабочий перевод от Google :

    
    #!/usr/bin/env bash
    
    notify-send -u critical --icon=info "$(xsel -o)" "$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=ru&dt=t&q=$(xsel -o | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
    
    
  • Обменник
  • Ваш ответ