莊周夢蝶

          生活、程序、未來
             :: 首頁 ::  ::  :: 聚合  :: 管理

          google translator 0.2

          Posted on 2008-02-14 11:15 dennis 閱讀(534) 評論(0)  編輯  收藏 所屬分類: 動態語言
              過去寫的那個利用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("http://translate.google.com/translate_t"),{'text'=>temp[0],'langpair'=>langpair}) 
              
          else
                response 
          = Net::HTTP.post_form(URI.parse("http://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


          主站蜘蛛池模板: 汨罗市| 万安县| 沙坪坝区| 溧水县| 五莲县| 仙居县| 托克逊县| 咸丰县| 蓬溪县| 施秉县| 临城县| 潜江市| 灌阳县| 平乐县| 永春县| 通化县| 锡林浩特市| 且末县| 洛浦县| 雅江县| 栾川县| 扶余县| 固安县| 且末县| 平舆县| 邢台县| 全州县| 桐庐县| 介休市| 静宁县| 都昌县| 开远市| 达拉特旗| 盐边县| 清苑县| 宁安市| 南召县| 小金县| 定日县| 德令哈市| 惠安县|