Не так давно на туксике была статья про то, как можно легко переводить любой текст из любой программы, где его можно выделить. В тот раз перевод осуществлялся с помощью гугла и результат появлялся во всплывающем уведомлении. На хабре
Хочется сразу отметить из плюсов данного скрипта то, что он переводит намного более длинные фразы, в отличие от гугловского. А качество перевода… конечно художественную литературу переводить не рекомендуется, но непонятные фразы — вполне.
Скрипт не сильно большой, но выкладывать его полностью не буду (если хотите, то вверху ссылка на статью на хабре). Его проще можно скачать командой:
wget http://dl.dropbox.com/u/24844052/tuksik/transya
И заодно делать его исполняемым:
chmod +x transya
Теперь устанавливаем пакет xclip, который будет заниматься тем, что помещать выделенный текст в переменную.
sudo apt-get install xclip
Остаётся только забить его на сочетание клавиш. Это можно сделать средствами самой системы (например, в «клавиатуре» в mint и ubuntu) или через xbindkeys (универсальный способ для всех дистрибутивов).
Кстати, если не нравится, что появляется окно с оригинальным текстом (мол, вы точно это хотите перевести?), то просто замените строчку
text=$(${_zenity} --title "Enter text" --entry --entry-text="$(xclip -o)" )
на
text=`(xclip -o)`
И тогда перевод будет быстрый, без лишних нажатий.
xclip все же надо установить сначала
Да, точно. Дополнил статью. Просто пакет стал уже настолько привычным, что и забыл, что его нет в стандартной сборке.
В новом дистрибутиве 12.04 64 bit скрипт работает как то через раз, а если переключишься на русскую раскладку то вообще не работает.
Вру все работает, что было не знаю.
В скрипте нужно после команды sed следующей строкой добавить sed -i ‘s/\\n/\n/g’ ${_out}
Иначе он выводит переведенный текст сплошным текстом без абзацев, а вместо абзацев выводит значек \n.