Правильный alfred workflow для перевода ru-en и en-ru

Результат: https://github.com/podgorniy/alfred-translate

Заметил, что пользуюсь переводом, чтобы придумать корректное название переменной, или понять английское слово. Процесс выглядит так: открываю браузер, открываю страницу перевода, вбиваю текст, выделяю перевод, копирую, вставляю. Многовато телодвижений, несмотря на то, что все действия отлажены. К тому же гугловый переводчик, которым периодически пользуюсь, не умеет автоматически понимать язык с которого переводить, а это означает еще несколько движений, чтобы настроить направление перевода (чтобы в следующий раз снова менять настройки). Яндекс перевод в этом плане умнее.

При попытке упростить этот процесс, нашлись только варианты workflow, в которых авторы предлагают вводить направление перевода вручную. Получается многословно, да и неудобно, например как этом случае. В идеале workflow должен сам понимать с какого языка переводить. С немецким, французским, английским этого достичь не так просто, а вот для пары русский-английский – пара пустяков.

Идеальный вид:

В качестве сервиса перевода используется API Яндекс словарей. Альфред писать расширения на ряде языков, где ноды, к сожалению нет. Наверняка ноду можно к нему прикрутить, но это бы усложнило жизнь потенциальным пользователям расширения (не я один могу страдать от реализаций существующих workflow). Среди языков – bash, applescript, php, python, perl, ruby. Выбор пал на python, заодно подучил его.

Из интересных решений – API словаря требует явно указать направление перевода (en-ru, ru-en), поэтому нужно отличать на уровне workflow язык ввода: латинские буквы – значит en, иначе – ru.

UPD
Забыл описать как им пользоваться. Можно переводить текст из самого окошка альфреда, ключевое слово – “t”. После “t” пишешь слово, что нужно перевести, и получаешь список вариантов. Плюс можно используя глобальный шоткат ctrl+shift+t перевести любое выделенное слово (без необходимости копировать). При выборе одного из вариантов перевода по enter, текст перевода копируется в буфер обмена.

Share
Send
Pin
10 comments
arsenty

Ура! Наконец-то появился нормальный переводчик для русскоязычной аудитории.

До этого я пользовался переделанными под русский язык костыльными решениями с указанием направления перевода с альфредского форума.

Спасибо!

Максим

Спасибо, отличный workflow, прям то что надо.

Дмитрий Подгорный

Рад быть полезным. В свежей версии (июль 2015) он еще пробует исправлять грамматические ошибки.

Сергей

Очень круто, огромное спасибо!

Alex

Спасибо тебе добрый человек!

Alex

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

И когда я просто выделил и нажал комбинацию и мне сразу дал перевод.. Небо и земля.

Михаил

Спасибо за воркфлоу. Очень полезная штука!

Владислав

Очень помогает, спасибо!

Андрей

Установил. Делаю как написано в инструкции и не работает, ничего не происходит. Ну почему? Не понимаю =) http://joxi.ru/vAWVzWlug3OOn2

Дмитрий Подгорный

Скрипт делает запросы к yandex API. Если к ним нет доступа или если нет интернета то программа не работает

Артур

Добрый день! Хочу сказать огромное спасибо за workflow – очень помогает в работе. Вот только не всегда почему-то переводит предложения фразы https://www.dropbox.com/s/2x14i3fuhajf7uz/screenshot%202020-11-11%20at%2014.43.58.mov?dl=0 . Установлена последняя версия. Если не сложно – можете написать почему

Дмитрий Подгорный

Добрый. Рад что мой воркфлоу помогает.

Поменялись условия использования бесплатного API который используется в плагине, и я отключил вызов этого апи. Тут больше деталей о том что произошло, что мы пробовали и как в итоге решили проблему https://github.com/podgorniy/alfred-translate/issues/11

Ali

Пожалуйста исправьте, после обновления перестал работать

Popular