论坛首页 编程语言技术论坛

用Python写个翻译工具

浏览 20116 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-12-01  
trace 写道
Without -q:
$ wget http://www.iteye.com
--2010-11-30 13:30:20--  http://www.iteye.com/
Resolving www.iteye.com... 61.151.241.121
Connecting to www.iteye.com|61.151.241.121|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2095 (2.0K) [text/html]
Saving to: `index.html.2'

100%[==================================================================================================================>] 2,095       --.-K/s   in 0.001s  

2010-11-30 13:30:20 (1.51 MB/s) - `index.html' saved [2095/2095]


With -q:
wget -q http://www.iteye.com
# Nothing output
膜拜trace
0 请登录后投票
   发表时间:2010-12-01  
qwe_rt 写道
trace 写道
既然在Linux下面,shell脚本也是一个宝贝啊,我奉上一个短的:
translate() {
	wget -qO- "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$1&langpair=${2:-en}|${3:-zh}" | sed -E -n 's/[[:alnum:]": {}]+"translatedText":"([^"]+)".*/\1/p'; 
	return 0;
}

把这段函数放到你的~/.bashrc或者~/.zshrc里面,就可以这样用了:
$ translate hello
你好
$ translate hello en es
hola
$ translate "very good"
非常好



狂赞,wget + sed 太强了。
Hi ,
能指导一下 wget 的参数选项 -q0- 表示什么?
sed 的 -E 参数是么意思?


我的问题是,${3:-zh}这是什么意思?
0 请登录后投票
   发表时间:2010-12-01  
Kensai 写道
我觉得把python默认方法命名规范的_ 和__ 看着我很蛋疼,为啥不加个关键字捏。


lz的一些函数为什么也要加_开头呢?不解。
0 请登录后投票
   发表时间:2010-12-01  
引用
我的问题是,${3:-zh}这是什么意思?

功能:获取第三个参数,如果没有第三个参数,则取后面的默认值"zh"
比如 :
translate hello en fr  

则${3:-zh}  == fr
translate hello   

则${3:-zh}  == zh
0 请登录后投票
   发表时间:2010-12-08  
真的很强大,特别是sh版本,不过有这么一些问题:
1.在debian下sh版本中sed -E 需要变成 sed -r
2.在~/.bashrc 等中添加为函数不如在/bin 中添加一个脚本,因为/bin 中的脚本是可以在vim等环境中自动搜索到,也能执行的,而 ~/.bashrc 中的函数是不能执行的。
3.建议在函数return 0;之前添加一行 echo ""; 这样可以更好的展示结果。
4.如果需要翻译多个词/句子,需要用引号括起来,否则环境会解析为其他参数而不是你所想要的!
0 请登录后投票
   发表时间:2010-12-23  
这个sh的脚本放在机器里用了,不错不错!这样我手机上就要装翻译软件了,用putty连到服务器上,查询一下。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics