- // Find quickly the translation of something without having to go to the browser
- // Example (translate 'my name is Lloyd Moore' from english to french :
- // translate en es my name is Lloyd Moore and I am happy
- // > mi nombre es Lloyd Moore y soy feliz
- #!/usr/bin/env ruby
- #
- # author: Lloyd Moore
- # version 0.3
- #
- # changes: Sat Apr 30 11:25:49 CEST 2011
- # allowed for conversion of utf-8 characters
- # with an iconv hack
- require 'rubygems'
- require 'json'
- require 'open-uri'
- require 'cgi'
- require 'iconv'
- key = # INSERT YOUR GOOGLE API KEY HERE
- source = ARGV.shift
- target = ARGV.shift
- query = CGI.escape((ARGV.map {|x| "#{x} "}).to_s)
- params = "key=#{key}&source=#{source}&target=#{target}&q=#{query}"
- uri = "<a href="https://www.googleapis.com/language/translate/v2?">https://www.googleapis.com/language/translate/v2?#{params}"
- url = URI.parse(uri)
- json = url.open.read
- out = JSON.parse(json)
- translation = out["data"]["translations"][0]["translatedText"]
- nicer = Iconv.iconv("UTF-8", "UTF-8", translation)
- puts nicer
- #该片段来自于http://www.codesnippet.cn/detail/070420132731.html
来源: http://www.codesnippet.cn/detail/070420132731.html