Как переводить тексты в Linux с помощью сочетания клавиш и уведомлений

У меня была проблема с Перевод Google Chrome в Linux, Мне удалось улучшить его с некоторыми изменениями, но мне это не совсем нравится. Вот почему я попытался найти альтернативу, которая позволяет мне переводить слова или некоторые тексты, которые я не знаю.

Чтобы решить эту проблему, мы научим как переводить тексты в Linux с помощью сочетаний клавиш и уведомлений, для этого я воспользуюсь руководством Андрей (Алин Андрей) Все идет отлично, и я надеюсь, что он вам пригодится. Руководство состоит из нескольких сценариев, созданных Эндрю, и исправления сценария 2012 года, который был взят за основу.

Этот метод позволяет нам переводить любой текст, который можно выбрать (тексты на веб-страницах, PDF, TXT, приложения, среди прочего), поэтому его можно использовать во многих случаях.

Как переводить тексты в Linux

Как переводить тексты в Linux

Преимущества и недостатки этого решения

Среди преимуществ этого метода можно выделить:

  • Он позволяет переводить любой текст, который можно выбрать (PDF, веб-страницы, журналы, libreoffice, тексты в приложении и другие).
  • Он позволяет быстро переводить тексты благодаря использованию сочетаний клавиш.
  • Позволяет просматривать переводы из системных уведомлений.
  • Позволяет перевод с разных исходных языков.
  • Целевой язык можно параметризовать.
  • Он идеально подходит для перевода небольших слов и фраз.
  • Легко установить и настроить.

Основными недостатками этого метода являются:

  • Вы не можете перевести веб-страницы целиком.
  • Если Google не может определить исходный язык, он вернет ошибку и, следовательно, не переведет текст.
  • Для работы этого метода требуется подключение к Интернету.

Настройка скрипта для перевода текстов в Linux

Чтобы настроить и запустить скрипт для перевода выбранных текстов с помощью сочетания клавиш и уведомлений, мы должны выполнить следующие шаги:

  • Instalar las dependencias necesarias, en primer lugar instalar libnotify-bin (para enviar notificaciones de escritorio), wget (para recuperar la traducción de Google) y XSEL (que se utiliza para obtener el texto resaltado en ese momento). En Ubuntu y derivados puedes instalarlo usando el siguiente comando:
sudo apt-get install libnotify-bin wget xsel
  • Скопируйте в консоль следующий код:
#!/usr/bin/env bash
notify-send --icon=info "$(xsel -o)" "$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=es&dt=t&q=$(xsel -o | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"

а затем создайте файл с именем «notitrans» (Вы можете называть его как хотите, в этом случае он будет называться так, как его назвал первоначальный автор.), который будет содержать предыдущий код.

Если вы хотите перевести на другой язык, кроме испанского, вы должны заменить «tl = es» на язык, который вы предпочитаете, например «tl = ru» для русского, «tl = fr» для французского и т. Д.

  • Мы должны дать разрешение на выполнение файлу, созданному с помощью следующей команды:
chmod +x ~/notitrans
  • Мы добавляем скрипт в наш $ PATH с помощью следующей команды
sudo mv ~/notitrans /usr/local/bin/
  • Наш скрипт готов, теперь мы должны активировать его при использовании сочетания клавиш, для этого мы должны создать настраиваемый доступ.

Для Cinnamon, GNOME и Unity вы можете создать собственное сочетание клавиш, открыв  Системные настройки> Клавиатура> Сочетания клавиш> Пользовательские сочетания клавиш, где мы должны нажать на добавить собственный ярлык. Где вводим название ярлыка, в моем случае ставлю переведите и в Заказ размещаем «notitrans»Или имя, которое мы дали нашему скрипту:

добавить сочетание клавиш

добавить сочетание клавиш

Варианты скрипта для перевода текстов в Linux

Es muy fácil modificar el script para adaptarlo mejor a sus necesidades. A continuación encontrará un par de variaciones que ha creado  Andrew. Para usar estos script, simplemente siga los mismos pasos que anteriormente (incluyendo cambiar «es» al idioma en el que desea traducir el texto), pero no copie el código de script anterior sino que utilice el que corresponda:

Визуализация перевода с помощью Zenity

перевести текст в Linux Чтобы посмотреть наш перевод в Zenity мы должны выполнить следующие шаги:
  • Установите Zenity в свою систему. В Ubuntu и производных версиях вы можете установить его с помощью следующей команды:
sudo apt-get install zenity
  • Выполните все шаги исходного скрипта, но используйте следующий код
#!/usr/bin/env bash
text="$(xsel -o)"
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=es&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
echo -e "Original text:" "$text"'\n' > /tmp/notitrans
echo "Translation:" "$translate" >> /tmp/notitrans
zenity --text-info --title="Translation" --filename=/tmp/notitrans

Просмотр перевода в уведомлениях и автоматическое копирование в наш буфер обмена

Чтобы иметь вариант, в котором перевод отображается системными уведомлениями и автоматически копируется в наш буфер обмена, мы должны выполнить следующие шаги:

  • Установите xclip в вашу систему. В Ubuntu и производных версиях это можно сделать с помощью следующей команды:
sudo apt-get install xclip
  • Выполните все шаги исходного скрипта, но используйте следующий код
#!/usr/bin/env bash
text="$(xsel -o)"
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
echo "$translate" | xclip -selection clipboard
notify-send --icon=info "$text" "$translate"

Уже кульминация, Я надеюсь, что эта статья позволяет вам делать переводы слов или текстов, которые вы хотите, таким же образом, если у кого-то из вас есть какие-либо сомнения или изменения сценария, не стесняйтесь оставлять свои комментарии.

источник: Webupd8


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

6 комментариев, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   r сказал

    Большое спасибо за сценарий; Это очень полезно, и большое спасибо за перевод и статью, потому что это действительно настоящие статьи, которые заставляют вас расти в знаниях в области GNU Linux.

    Предлагаю вам больше переводов и статей ...

    Привет и хорошего дня.

  2.   Мануэль сказал

    Отлично +5, спасибо! Исправление: «Скопируйте следующий код в консоль:», его нет в консоли, а в созданном текстовом файле.

  3.   Куадзуноте сказал

    Большой вклад, это было очень хорошо для меня. Хочу уточнить вопрос, можно ли сделать переводимый текст больше? Другими словами, в Zenity я выбираю абзац, и он переводит не все, а всего пару предложений, с собственной системой уведомлений Ubuntu переводит только первое предложение. Есть ли способ его расширить?

    С уважением и заранее большое спасибо.

  4.   Миллер Сильва сказал

    Очень хороший вклад!

  5.   Оскар Круз сказал

    То, что я искал!
    Ну, не совсем, я искал способ сделать это только в нормальных документах (с каким-то плагином), так как обычно я работаю с большим количеством PDF-файлов. Но это помогает мне переводить слово за рамки окуляр. Это отличный вклад

    Я благодарю тебя !!!

  6.   Эрсантил сказал

    Отлично немного. Спасибо