利用google在线翻译制作自己的翻译程序之ruby版

刚学ruby时写的工具,我自己一直在用,放在桌面上,遇到不懂单词就得问它。发在railscn上,ranchgirl修改的更为ruby way。

 受blogjava上的帖子启发,实在是个有趣的主意,写了个ruby版本的,对俺这等英语一般的同学来说,google在线翻译经常使用呐,原贴之java版
http://www.blogjava.net/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 

文章转自庄周梦蝶  ,原文发布时间5.17

时间: 2024-10-27 05:36:02

利用google在线翻译制作自己的翻译程序之ruby版的相关文章

php调用google在线翻译功能

从中文到英语 class Google_API_translator { public $out = "";     function translate() {         $this->out = "";         $text = urlencode("计算机");//要翻译的单词         $google_translator_url = "http://translate.google.com/transl

php 调用google在线翻译功能

class Google_API_translator { public $out = "";     function translate() {         $this->out = "";         $text = urlencode("computer");//要翻译的单词         $google_translator_url = "http://translate.google.com/translat

利用Google来自动翻译自己的博客网站

利用Google来自动翻译自己的http://www.aliyun.com/zixun/aggregation/9610.html">博客网站 [博客营销研究] 前几天在网上认识一位来中国旅游的美国朋友smish先生,他在msn上告诉他是在网上看到我的博客.他会讲中国话,但是他看不懂中国文字,也看不懂我的博客,只能是看些上面的图片. to English 点此进入google自动翻译 我自己英语也不好,我就想,会不会应该有这样的一个工具,添加在我的博客上把我的博客文章自动翻译成英文呢?很多

ASP利用Google实现在线翻译功能

google|在线 有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好Google提供了语言工具功能,下面介绍如何利用它来实现网页多种语言之间的转换. lan.htm <form><select name="lan"><option value="en|de">英语 翻译成 德语</option><option value="en|es">英语 翻译成 西班

ASP利用Google实现在线翻译功能_应用技巧

有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好Google提供了语言工具功能,下面介绍如何利用它来实现网页多种语言之间的转换. 复制代码 代码如下: <form> <select name="lan"> <option value="en|de">英语 翻译成 德语</option> <option value="en|es">英语 翻译成 西班牙语&l

A利用ASP小偷和Google实现在线翻译功能的代码_应用技巧

复制代码 代码如下: 有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好Google提供了语言工具功能,下面介绍如何利用它来实现网页多种语言之间的转换. lan.htm <form> <select name="lan"> <option value="en|de">英语 翻译成 德语</option> <option value="en|es">英语 翻译

A利用ASP小偷和Google实现在线翻译功能的代码

复制代码 代码如下: 有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好Google提供了语言工具功能,下面介绍如何利用它来实现网页多种语言之间的转换. lan.htm <form> <select name="lan"> <option value="en|de">英语 翻译成 德语</option> <option value="en|es">英语 翻译

Google新翻译技术震惊阿拉伯语专家

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 Google未来的蓝图当中,利用机器逻辑,而不是语言专家,人们将可以瞬间翻译世界几大主流的语言. Google采用的方法叫做"统计学机器翻译"(statistical machinetranslation),它和以往那种让语言专家编写规程,词汇 进入计算机的模式不同. 这种方法对人们以前翻译过的两种语言文件进行对比,然后计

微软在线翻译API试用

一直喜欢用Google Translate API进行在线翻译,但是,后来,大家都知道的,因相关政策及法律原因,Google的服务越来越慢,无法忍受,只好寻找更快的在线翻译接口,后来找到Microsoft Translate,觉得非常好用,我用SOAP方式做一个示例,希望给有相同需求的小盆友一点参考,老鸟就不用看了,没什么技术含量的.   首先,需要在Bing开发人员中心,注册一个应用,获得一个Appid,这是必须滴~,注册地址如下: http://cn.bing.com/developers