剛學ruby時寫的工具,我自己一直在用,放在桌面上,遇到不懂單詞就得問它。發在railscn上,ranchgirl修改的更為ruby way。
?受blogjava上的帖子啟發,實在是個有趣的主意,寫了個ruby版本的,對俺這等英語一般的同學來說,google在線翻譯經常使用吶,原貼之java版
http://www.aygfsteel.com/ekinglong/archive/2006/11/12/80704.html?Pending=true#Post
require?'net/http'
def?translate
??txt=STDIN.gets
??break?if?txt.strip=='e'?or?txt.strip=='exit'
??temp=txt.split('?')
??if?temp[1]=='1'?or?temp.size==1
????langpair='en|zh-CN'
??else
????langpair='zh-CN|en'
??end
?#使用代理??
??$proxy_addr?=?'127.0.0.1'
??$proxy_port?=?80

??response?=?Net::HTTP.Proxy($proxy_addr,?$proxy_port).post_form(URI.parse("http://translate.google.com/translate_t"),{'text'=>temp[0],'langpair'=>langpair})
??response.body?=~?/<div?id=result_box?dir=ltr>(.*)<\/div>/
??result?=?$1?
??puts?'翻譯內容:'+temp[0]
??puts?'google返回:'+result
??puts?'-------------------退出請打e或者exit---------------'
??translate
end
translate

ranchgirl修改的版本,沒有使用遞歸:
require?'net/http'
def?usage
??"usage:?word?[lang2?[lang1]]\n"?+
??"Translate?word?from?lang1?(default?en,?English)?to?lang2?(default?es,?Spanish)\n"?+
??"ISO?language?code:?http://www.unicode.org/unicode/onlinedat/languages.html"?
end
def?translate
??arr?=?ARGV
??if?!arr[0]?then?puts?usage;?return?end
??arr[1]?=?"es"?unless?arr[1]
??arr[2]?=?"en"?unless?arr[2]?
??langpair?=?"#{arr[2]}|#{arr[1]}"???
??response?=?Net::HTTP.post_form(URI.parse("http://translate.google.com/translate_t"),
?????????????????????????????????{:text?=>?arr[0],?:langpair?=>?langpair})
??response.body?=~?/<div?id=result_box?dir=ltr>(.*)<\/div>/
??result?=?$1?
??result?=?"No?#{langpair}?translation?available?for?#{arr[0]}"?if?result.size?==?0
??puts?result
end
translate?
?受blogjava上的帖子啟發,實在是個有趣的主意,寫了個ruby版本的,對俺這等英語一般的同學來說,google在線翻譯經常使用吶,原貼之java版
http://www.aygfsteel.com/ekinglong/archive/2006/11/12/80704.html?Pending=true#Post
























ranchgirl修改的版本,沒有使用遞歸:



















