Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Программа для перевода текстов через Яндекс, Google и Microsoft  (Прочитано 33954 раз)

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

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Написал программу, которая позволяет переводить текст через Яндекс, Гугл или Майкрософт (Бинг). Зависит от трех питоновских модулей, которых, вроде, нет в репозитории, поэтому приходится их дополнительно устанавливать через pip (или easy_install)

Вот тут ppa для самой программы:
https://launchpad.net/~flyamer/+archive/online-translator
А это - проект с просмотром исходников, переводами, багами и т.п.:
https://launchpad.net/online-translator

Установка.
Устанавливаем необходимые питоновские модули, которых нет в репозиториях убунты.
sudo apt-get install python-pip
sudo pip install yandex.translate microsofttranslator google-api-python-client
или
sudo easy_install yandex.translate microsofttranslator google-api-python-clientВторой способ не требует установки еще одной программы, но у меня как минимум один раз он сработал неправильно, не знаю, как будет у Вас.

Затем добавляем репозиторий программы, обновляем список пакетов и устанавливаем программу:
sudo add-apt-repository ppa:flyamer/online-translator
sudo apt-get update
sudo apt-get install online-translator

Замечу, что по умолчанию можно использовать мой личный API-ключ Яндекса, поэтому есть некоторые ограничения на количество переводов с его помощью в день:
    на количество обращений к Сервису - в размере 10 000 обращений в сутки;
    на объем переводимого текста - в размере 1 000 000 символов в сутки.
Не думаю, что это будет проблемой, но можно в настройках вставить свой ключ, который очень легко получить. Там есть кнопка, ведущая на соответствующий сайт.
Изначально программа не даст перевести через яндекс и попросит ключ, в настройках кнопка выставляет ключ по умолчанию.

Для гугла используется платный API-ключ (бесплатных не бывает). Цены там мизерные, но может набежать, если много народа начнет пользоваться.

У программы есть индикатор, в которую ее можно свернуть большой кнопкой внизу. Свернуть/развернуть также можно сочетанием Ctrl+Win+W (от Window). Индикатор позволяет перевести выделенное слово (или фразу) сразу тремя системами перевода. Также это вызывается сочетанием Ctrl+Win+T (от Translate).
« Последнее редактирование: 03 Декабря 2013, 23:59:13 от Phlya »
Ubuntu 14.04 (Unity), MSI GE40


Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
http://developer.ubuntu.com/packaging/ru/html/python-packaging.html
http://kawaikunee.blogspot.ru/2010/04/deb.html
Спасибо! Если будет время, займусь.

Кстати, питон надо использовать 2.X
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн viktand

  • Участник
  • *
  • Сообщений: 190
    • Просмотр профиля
Кто объяснит, как можно это просто превратить в .deb-пакет, чтобы не запускать вручную, будет большой молодец, и ему большое спасибо!

Рекомендую эту статью. Я по ней разобрался. Главное не пугаться большого количества букв, а спокойно пошагово все сделать.

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Рекомендую эту статью. Я по ней разобрался. Главное не пугаться большого количества букв, а спокойно пошагово все сделать.
Спасибо! Я посмотрю.

Загадочное явление. Вообще-то, при клике на сохраненное слово должно появляться уведомление с его переводом. Когда запуская в Spyder, все отлично работает, а если двойным кликом - то нет уведомления. Ни у кого нет идей, в чем может быть дело?..
Что-то с кодировками тут нечисто...

Исправлено.
« Последнее редактирование: 02 Мая 2013, 18:43:04 от Phlya »
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Ну вроде-бы работает :))
Идеи:
 - поменять значок
 - (не знаю, позволяет ли это api) при выборе одного слова -- брать данные из Яндекс.Словарей

По поводу лишних файлов: я для себя как-то по-быстрому скрипт сварганил для Яндекс.Словарей через lynx -dump  и вывод просто парсил, может тут тоже можно без api обойтись (хотя api -- это хорошо).

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Значок в трее? Да, это просто из стандартных, "копировать". Надо бы сделать свой, но я пока не до конца разобрался с этим. У вас есть предложения, какой значок сделать?)

Про Яндекс.Словари надо посмотреть, может, у них просто есть свой API, тогда можно их попробовать приделать потом.

Про лишние файлы правильнее всего было бы, если бы этот модуль был в репозиториях питона...
А просто скрипт (для гугла, правда) описан в вики в разделе про notify-osd, там одна строчка на баше, длинная правда.
Я, кстати, хотел изначально через гугл делать, но обнаружил, что API для их перевода исключительно через платный ключ работает, что как-то странно.
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Значок в трее? Да, это просто из стандартных, "копировать". Надо бы сделать свой, но я пока не до конца разобрался с этим. У вас есть предложения, какой значок сделать?)
Ну так-вот сразу на вскидку: на тему Яндекса, или флажки Ru-En...

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Да, на тему Яндекса я даже пытался сделать сам, но никак не могу понять, как ее приделать...
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Итак, я попытался коренным образом решить проблему пакетирования. Во-первых, я разобрался, как устанавливать этот модуль для Яндекс перевода (https://github.com/valmet/python-yandex-translate - скачать .zip, распаковать, python setup.py install). Дальше я сделал вместо простого индикатора полноценную программку для перевода с помощью quickly, добавив собственно окно с двумя полями для текста и кнопкой перевести. Кроме того, добавил настройки, в которых можно указать собственный API-ключ.
Но несмотря на все эти усилия, quickly отказывается делать пакет по невыясненным обстоятельствам - http://askubuntu.com/questions/291103/quickly-cant-package-but-raises-no-errors
Если у кого есть идеи, в чем может быть дело, пожалуйста, скажите! Ну, или хотя бы вопрос на askubuntu поподнимайте, кто зарегистрирован, если не сложно...

Для затравки:

« Последнее редактирование: 06 Мая 2013, 00:43:24 от Phlya »
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Ура, я решил эту проблему, уже собралось на ланчпаде: https://launchpad.net/~flyamer/+archive/online-translator
Установка:
sudo add-apt-repository ppa:flyamer/online-translator
sudo apt-get update
sudo apt-get install online-translator

Модуль для яндекс-перевода я собрал в примитивный .deb-пакет, не могу обещать, что с ним все у всех будет хорошо. Если что, выше написано, как его установить вручную. Вот пакет: http://ubuntuone.com/7KWysDCHepZJLWJhjRwScm
« Последнее редактирование: 07 Мая 2013, 18:54:57 от Phlya »
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
apt-get забыли перед update, да и в описании репозитория можно было по русски писать, врятли америкосов заинтересует Яндекс ))



Пользователь решил продолжить мысль 07 Мая 2013, 03:18:05:
W: Не удалось получить http://ppa.launchpad.net/flyamer/online-translator/ubuntu/dists/quantal/main/source/Sources  404  Not Found

W: Не удалось получить http://ppa.launchpad.net/flyamer/online-translator/ubuntu/dists/quantal/main/binary-amd64/Packages  404  Not Found

W: Не удалось получить http://ppa.launchpad.net/flyamer/online-translator/ubuntu/dists/quantal/main/binary-i386/Packages  404  Not Found

:'(
« Последнее редактирование: 07 Мая 2013, 03:18:05 от Freezeman »

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
apt-get забыли перед update, да и в описании репозитория можно было по русски писать, врятли америкосов заинтересует Яндекс ))



Пользователь решил продолжить мысль 07 Мая 2013, 03:18:05:
W: Не удалось получить http://ppa.launchpad.net/flyamer/online-translator/ubuntu/dists/quantal/main/source/Sources  404  Not Found

W: Не удалось получить http://ppa.launchpad.net/flyamer/online-translator/ubuntu/dists/quantal/main/binary-amd64/Packages  404  Not Found

W: Не удалось получить http://ppa.launchpad.net/flyamer/online-translator/ubuntu/dists/quantal/main/binary-i386/Packages  404  Not Found

:'(

Да, верно, забыл, спасибо.

Добавить для других версий тоже забыл - сорри, сейчас исправлю (у меня raring).

Пользователь решил продолжить мысль 07 Мая 2013, 03:38:57:
Я надеюсь добавить гугловский перевод, что может заинтересовать их уже больше. Да и перевод потом на разные языки можно доделать. Так что считаю правильнее писать по-английски.
« Последнее редактирование: 07 Мая 2013, 03:38:57 от Phlya »
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн viktand

  • Участник
  • *
  • Сообщений: 190
    • Просмотр профиля
Кстати да, было бы интересно, если бы в ответ на фразу сразу предлагались бы варианты перевода от разных систем.

Оффлайн Phlya

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Кстати да, было бы интересно, если бы в ответ на фразу сразу предлагались бы варианты перевода от разных систем.
Да, я думал об этом. С гуглом только сложность в том, что API платный исключительно, если я правильно понимаю...
Ubuntu 14.04 (Unity), MSI GE40

 

Страница сгенерирована за 0.047 секунд. Запросов: 23.