Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

echo >> ~/notes.txt && echo >> ~/notes.txt && date >> ~/notes.txt && xsel -o >> ~/notes.txt && echo >> ~/notes.txt && notify-send "Эаметка добавлена" "$(xsel -o)"#!/usr/bin/env bashtext="$(xsel -o)"
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$(xsel -o | sed "s/[\"'<>]//g")&sl=auto&tl=ru" | sed 's/\[\[\[\"//' | cut -d \" -f 1)"
echo $translate | xclip -selection clipboard # Копировать перевод в буфер
notify-send -u critical $text $translate#!/usr/bin/env bash
text="$(xsel -o)"
...
notify-send -u critical "$(xsel -o)" "$(python /path/to/tran.py "$(xsel -o | sed "s/[\"'<>]//g")")"import httplib, urllib, argparse, re
def argparser():
parser = argparse.ArgumentParser(description='Instant Translator')
parser.add_argument('phrase', metavar='p', type=str,
help='phrase to translate')
args = parser.parse_args()
return args.phrase
def retrieve(host, path):
request = httplib.HTTPConnection(host)
request.request("GET", path, "", {'User-Agent' : 'Mozilla/5.0'})
response = request.getresponse()
if response.status > 200:
return '[["{}"],"ERROR"]'.format(response.reason)
return response.read()
def parse_item(item, depth = 0):
if type(item) is str:
if len(item) == 0:
return ''
return "{}{}\n".format("\t" * depth, item)
result = ''
for sub_item in item:
result += parse_item(sub_item, depth + 1)
return result
phrase = argparser()
host = 'translate.google.com'
URL = 'translate_a/t?client=t&sl=auto&tl=ru&' + urllib.urlencode({'text' : phrase})
response = re.sub(',{2,}', ',', retrieve(host, "/" + URL))
try:
translated = eval(response)
result = ''
for item in translated:
if type(item) is str:
result = "Translation: {} > ru\n\n{}".format(item, result)
break
result += parse_item(item, -1)
print result
except RuntimeError as ex:
print "Something went wrong ({}): {}".format(response, ex)

ImportError: No module named argparseimport httplib, urllib, re, sys
def argparser():
return sys.argv[1]
def retrieve(host, path):
request = httplib.HTTPConnection(host)
...
Traceback (most recent call last):
File "/home/ploop/tran.py", line 23, in response = re.sub(',{2,}', ',', retrieve(host, "/" + URL))
File "/usr/lib/python2.6/re.py", line 151, in sub
return _compile(pattern, 0).sub(repl, string, count)
TypeError: expected string or buffer
No summary specified.
except RuntimeError:
print "Something went wrong ({})".format(response)import httplib, urllib, re, sys
def argparser():
return sys.argv[1]
def retrieve(host, path):
request = httplib.HTTPConnection(host)
request.request("GET", path, "", {'User-Agent' : 'Mozilla/5.0'})
response = request.getresponse()
if response.status > 200:
return '[["{}"],"ERROR"]'.format(response.reason)
return response.read()
def parse_item(item, depth = 0):
if type(item) is str:
if len(item) == 0:
return ''
return ("\t" * depth) + item + "\n"
result = ''
for sub_item in item:
result += parse_item(sub_item, depth + 1)
return result
phrase = argparser()
host = 'translate.google.com'
URL = 'translate_a/t?client=t&sl=auto&tl=ru&' + urllib.urlencode({'text' : phrase})
response = re.sub(',{2,}', ',', retrieve(host, "/" + URL))
try:
translated = eval(response)
result = ''
for item in translated:
if type(item) is str:
result = "Translation: " + item + " > ru\n\n" + result
break
result += parse_item(item, -1)
print result
except RuntimeError as ex:
print "Something went wrong ({}): {}".format(response, ex) > sudo chmod 777 ./seltr > sudo chmod +x ./seltr text="$(xsel -o)"#!/usr/bin/env bash
notify-send -u critical "$(xsel -o)" "$(wget -U "Mozilla/5.0" -qO - "https://translate.google.com/translate_a/single?client=t&sl=auto&tl=ru&hl=ru&dt=bd&dt=ex&dt=ld&dt=md&dt=qc&dt=rw&dt=rm&dt=ss&dt=t&dt=at&ie=UTF-8&oe=UTF-8&otf=2&srcrom=1&ssel=0&tsel=0&kc=3&tk=519592|450115&q=$(xsel -o | sed "s/[\"'<>]//g")&sl=auto&tl=ru" | sed 's/\[\[\[\"//' | cut -d \" -f 1)"
# This script auto translate mark text on ubuntu in toolbar
# For work you need install with your env 'pip install googletrans'
import subprocess
from googletrans import Translator
def sendmessage():
translate = Translator()
text = subprocess.check_output(['xsel', '-o'])
rus_lang = translate.translate(text.decode('utf8'), dest='ru')
subprocess.Popen(['notify-send', text, rus_lang.text])
if __name__ == '__main__':
sendmessage()# This script auto translate mark text on ubuntu in toolbar
# For work you need with your env 'pip install googletrans'
#!/home/rus/Envs/translate/bin/python3
import subprocess
from googletrans import Translator
def sendmessage():
translate = Translator()
text = subprocess.check_output(['xsel', '-o'])
text = text.decode('utf-8')
lang = translate.detect(text).lang
dest_lang = 'enru'.replace(lang, '')
if dest_lang not in 'enru':
dest_lang = 'en'
rus_lang = translate.translate(text, dest=dest_lang)
subprocess.Popen(['notify-send', text, rus_lang.text])
if __name__ == '__main__':
sendmessage()
Перевод выделенного текста с любого языка на русский