google translator 0.2
過去寫的那個利用google在線翻譯的小腳本工具一直在用,今天用的時候,突然想,我今年不是想加強下英語學習嗎?那麼把每天查過的單詞保存下來,每天早上或者上班空閑期間花那麼幾分鍾記憶複習下這些單詞不是很好,畢竟技術性文章翻來覆去運用的單詞就那麼多,過去沒有注意積累,導致常常還得重新查,所謂提高也就放在口頭上了。說改就改,腳本語言改起來就是容易:
#利用google在線翻譯,翻譯中文<->英文
#author dennis
#version 0.2
require 'net/http'
$contents=Hash.new
$dir="F:/English/"
now=Time.now
$today="#{now.year}#{now.month.to_s.rjust(2,'0')}#{now.day.to_s.rjust(2,'0')}"
def translate
txt=STDIN.gets
if txt.strip=='e' or txt.strip=='exit'
#退出前保存
if $contents.size>0 then
File.open("#{$dir}#{$today}.txt","a+") do |file|
$contents.each {|key,value| file.write(key.ljust(20)+value.ljust(20)+"\n")}
end
end
exit
end
temp=txt.split(' ')
if temp[1]=='1' or temp.size==1
langpair='en|zh-CN'
else
langpair='zh-CN|en'
end
begin
#使用代理
#$proxy_addr = '192.168.9.25'
$proxy_port = 8081
$proxy_user='test'
$proxy_passwd='test'
if $proxy_addr
response = Net::HTTP.Proxy($proxy_addr,$proxy_port,$proxy_user,$proxy_passwd).post_form(URI.parse("https://translate.google.com/translate_t"),{'text'=>temp[0],'langpair'=>langpair})
else
response = Net::HTTP.post_form(URI.parse("https://translate.google.com/translate_t"),{'text'=>temp[0],'langpair'=>langpair})
end
response.body =~ /<textarea.*?id=suggestion>(.*?)<\/textarea>/
rescue StandardError =>e
$stderr.print "錯誤:"+e
else
result = $1
puts '翻譯內容:'+temp[0]
puts 'google返回:'+result if result
$contents[temp[0]]=result
puts '-------------------退出請打e或者exit---------------'
translate
end
end
translate
#author dennis
#version 0.2
require 'net/http'
$contents=Hash.new
$dir="F:/English/"
now=Time.now
$today="#{now.year}#{now.month.to_s.rjust(2,'0')}#{now.day.to_s.rjust(2,'0')}"
def translate
txt=STDIN.gets
if txt.strip=='e' or txt.strip=='exit'
#退出前保存
if $contents.size>0 then
File.open("#{$dir}#{$today}.txt","a+") do |file|
$contents.each {|key,value| file.write(key.ljust(20)+value.ljust(20)+"\n")}
end
end
exit
end
temp=txt.split(' ')
if temp[1]=='1' or temp.size==1
langpair='en|zh-CN'
else
langpair='zh-CN|en'
end
begin
#使用代理
#$proxy_addr = '192.168.9.25'
$proxy_port = 8081
$proxy_user='test'
$proxy_passwd='test'
if $proxy_addr
response = Net::HTTP.Proxy($proxy_addr,$proxy_port,$proxy_user,$proxy_passwd).post_form(URI.parse("https://translate.google.com/translate_t"),{'text'=>temp[0],'langpair'=>langpair})
else
response = Net::HTTP.post_form(URI.parse("https://translate.google.com/translate_t"),{'text'=>temp[0],'langpair'=>langpair})
end
response.body =~ /<textarea.*?id=suggestion>(.*?)<\/textarea>/
rescue StandardError =>e
$stderr.print "錯誤:"+e
else
result = $1
puts '翻譯內容:'+temp[0]
puts 'google返回:'+result if result
$contents[temp[0]]=result
puts '-------------------退出請打e或者exit---------------'
translate
end
end
translate
文章轉自莊周夢蝶 ,原文發布時間2008-02-14
最後更新:2017-05-17 17:31:46