依赖的软件: xsel, libnotify-bin, python(simplejson,urllib,urllib2)
两个脚本:
~/bin/translate.py
#!/usr/bin/env python
from urllib2 import urlopen
from urllib import urlencode
import simplejson
import sys
# The google translate API can be found here:
# http://code.google.com/apis/ajaxlanguage/documentation/#Examples
target=sys.argv[1]
text=' '.join(sys.argv[2:])
base_url='https://www.googleapis.com/language/translate/v2?'
params=urlencode( (('key', 'AIzaSyCTMQYOQUQdWSAJ478lI-peSVelazL_iCQ'),
('target', target),
('q', text), ) )
url=base_url+params
response=urlopen(url)
jsonObject = simplejson.load(response)
print "from:%s; %s" % (jsonObject['data']['translations'][0]['detectedSourceLanguage'],jsonObject['data']['translations'][0]['translatedText'].encode('utf-8'))
~/bin/trans-xsel
#!/bin/bash
# depend on xsel, libnotify-bin, translate.py
WORD=`/usr/bin/xsel -o`
TEXT=`translate.py zh """$WORD"""`
DISPLAY=:0.0 notify-send -i /usr/share/pixmaps/gdict.xpm -u normal -t 8000 来自谷歌翻译: """$TEXT"""
给这两个脚本添加执行权限,并把 ~/bin 加入 PATH 变量。
使用 gconf-editor 命令,启动 gnome 配置工具。
在 /apps/metacity/keybinding_commands/ 中 设置一个空闲的 command 键的值为 trans-xsel
在 /apps/metacity/global_keybindings/run_command_1 中设置 自己的快捷键: 例如 <Control><Alt>z
设置完成之后关闭配置工具。
使用方法:
在桌面上的任意窗口中(比如浏览器)选中要翻译的文本,按快捷键 Ctrl+Alt+z 系统提示框将会弹出提示框显示翻译结果。
--
yaoms