Google Translate/ru

Яндекс.Перевод
Создайте файл в папке с вашими скриптами yatranslate:

wget -qO- http://translate.yandex.ru/tr.json/translate --post-data="srv=tr-text&lang=en-ru&text=$1" | sed 's/"//g'
 * 1) !/bin/bash

Не забудьте дать права на выполнение chmod +x translate.

Google.Translate
Пользователь SLEDopit выложил на сайте UnixForum выложил рабочий скрипт для перевода текста через Google. Я его чуть чуть модифицировал, чтобы он мог принимать значения в виде переданных аргументов, а не считывал строку из консоли. Сохраните скрипт в папке с вашими скриптами и дайте ему права на выполнение chmod +x gtranslate
 * 1) !/bin/bash

if [ -z "$1" ] then echo "Exiting" fi

text="$1"

l_source="auto" l_target="ru"

result=$(curl -s -i --user-agent "" -d "sl=$source" -d "tl=$target" --data-urlencode "text=$text" https://translate.google.ru) encoding=$(awk '/Content-Type: .* charset=/ {sub(/^.*charset=["'\]?/,""); sub(/[ "'\].*$/,""); print}' <<<"$result") iconv -f $encoding <<<"$result" | awk 'BEGIN {RS=" "};/]* id=["'\]?result_box["'\]?/' | html2text -utf8 | sed 's/<[^>]*>//g'

exit

Для работы скрипта нужно установить html2text и curl

Настройка Awesome
После создания скрипта, добавьте функцию aw_translate в ваш rc.lua: function aw_translate local val = nil awful.prompt.run({ text=val and tostring(val),       selectall = true,        fg_cursor = black,        bg_cursor = orange,        prompt = " Translate: "}, mypromptbox[mouse.screen].widget,        function(expr)                        local f = io.popen("/dir/gtranslate /"" .. expr .. "/"")            --или замените предыдущую строку, на следующую,если хотите использовать перевод от яндекса            --local f = io.popen("/dir/yatranslate /"" .. expr .. "/"")            if f then                val = f:read("*line")                f:close            else                val = " "            end            notify_keychain = naughty.notify({ text = expr .. ' ' .. val .. " ",               timeout = 0, position = "bottom_right" })           root.keys(awful.util.table.join(                keychain["awesome"],                awful.key({},"Escape",function reset_keychain end)           ))        end,        nil, awful.util.getdir("cache") .. "/translate") end Не забудьте прописать верный путь до вашего скрипта.

Для запуска всего этого дела,добавьте в секцию globalkeys в вашем rc.lua awful.key({modkey, "Shift"}, "t", function aw_translate end), --запятая в конце обязательна!

При нажатии Mod+Shift+t появится promptbox, в котором вы можете ввести текст для перевода. После нажатия Enter, отправляется запрос, по окончании перевода, вы увидите уведомление naughty.