Встраиваем переводчик в linux

Февраль28

bin_bash_script

В наше время наличие переводчика на компьютере является очень нужным и полезным делом. Существует довольно большой ряд готовых программ, которые предоставляют нужный функционал. Но многие из них являются платными или не очень удобными в использовании. Большинство из них использует ограниченный локальный словарь и многие словосочетания просто не переводит. Есть так же 2 больших гиганта онлайн-перевода, Яндекс и гугл переводчики. Они очень комфортны для использования а так же, как правило, предоставляют наиболее качественный перевод, по сравнению с локальными аналогами. Единственная проблема в их постоянном использовании — нужно держать их открытыми во вкладке браузера, что не очень удобно.

Скрипт переводчик

Для Linux, есть альтернативный вариант, который всегда очень удобен — можно написать все самим) В данном случае, будем осуществлять перевод, используя API яндекс-переводчика. Сам скрипт написан на bash.

Для начала, получаем ключ для обращения к API-переводчика. Сделать это можно по этой ссылке: https://tech.yandex.ru/keys/?service=trnsl

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

Итак, получаем ключ — выглядеть он будет примерно так:

Получен 26.02.2016,
валиден
trnsl.1.1.20161226T233604Z.9913169248f89157.6775dba6953e3cbdc56f95170b0bb631797fbd8v
(Важно! данный ключ не является настоящим, приведен в качестве примера )
Далее пишем сам скрипт и делаем его исполняемым( как это сделать, читаем тут ). В скрипте не забываем поменять ключ на свой.
#!/bin/bash
# translator_for_yandex_api
zenity_path="/usr/bin/zenity"
tmp_file="/tmp/translate.output.$$"

text=$(${zenity_path} --title "Ввести текст для перевода" --width=500  --entry --entry-text="$(xclip -o)" )

if [ $? -eq 0 ]
then
  wget -O ${tmp_file} "https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20161226T233604Z.9913169248f89157.6775dba6953e3cbdc56f95170b0bb631797fbd8v&lang=ru-en&text=$text"
  sed -i 's/"//g' ${tmp_file}
  ${_zenity} --width=600 --height=240  \
       --title "Translation for $text" \
       --text-info --filename=${tmp_file}
  /bin/rm ${tmp_file}
fi

Скрипт можно привязать на горячую клавишу и вызывать одним нажатием при необходимости что-то перевести!)

Поделиться в соц. сетях


Copyright © 2013-2017. All rights reserved.

Опубликованно Февраль 28, 2016 by Feanor184 в категории Bash

Об Авторе

Постигаю Linux, учу Python, пытаюсь программировать)

9 комментарий(ев) к записи “Встраиваем переводчик в linux

  1. Violka

    Спаси-и-ибо! уже ооч долгое время никто не может мне на линукс прикрутить переводчик, все время ищу в режиме онлайн( И на моей улице будет праздник)

  2. Вячеслав

    Мне кажется замудренно как то все тут с этим переводчиком. Зачем скрипты, просто нужна хорошая программа для вот и все. Ведь пользователю чем легче и быстрее тем лучше) Не каждый захочет разбираться со скриптами, проще кликнуть на программу , которая сделает все нужное. Чисто мое мнение.

    1. Feanor184 Автор поста

      Вячеслав — программу под себя так гибко настроить не получится)

  3. Violka.Ch

    ОО, ну наконец-то хоть кто-то помог!! спасибочки. Сама мало разбираюсь в этом — коллеги помогут)

    1. Сергей

      Не пашет на минте, выскакивает окно ввода текста, пишу слово любое и ОК и на этом всё — окно исчезает просто.

    2. Feanor184 Автор поста

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

Добавить комментарий для Сергей Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

=

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