Sha256: a0910a967b58de2be8a4ca90c2674d64eb6bcba7d9525448dc725ae6f668f536
Contents?: true
Size: 1.97 KB
Versions: 1
Compression:
Stored size: 1.97 KB
Contents
#!/usr/bin/env ruby $:.unshift(File::join(File::dirname(File::dirname(__FILE__)), "lib")) require 'rubygems' unless RUBY_VERSION =~ /1.9.*/ require 'google_translate' #$KCODE='u' class Translate USAGE= <<-TEXT Usage: translate list - displays the list of supported languages translate en:ru "hello world" - translates from en to ru translate ru "hello world" - translated from auto-detected language to ru TEXT def initialize @translator = Google::Translator.new end def print_languages list, title puts title puts list.join(', ') end def display result r1, r2 = *result if r2.empty? puts r1 else puts r1 puts r2 end # if RUBY_PLATFORM =~ /mswin32/ # # File.open("temp.txt", "w") {|f| f.write text } # # %x[notepad temp.txt] # # puts (r2.empty? ? r1 : r2) # else # puts (r2.empty? ? r1 : r2) # end end def run if(ARGV.size == 0) puts USAGE and return end case ARGV.shift when /(-v)|(--version)/ then puts "Version: #{File.open(File::dirname(__FILE__) + "/../VERSION").readlines().first}" when 'list' then hash = @translator.supported_languages print_languages hash[:from_languages], "From Languages:" print_languages hash[:to_languages], "To Languages:" #when 'detect' then # language = @translator.detect_language(ARGV.shift) # # puts "Language: #{language.inspect}" when /(.*):(.*)/ then from_text = ARGV.join(' ') from = $1 to = $2 display(@translator.translate(from.to_sym, to.to_sym, from_text)) #when /(.*)/ then # from_text = ARGV.join(' ') # # from = @translator.detect_language(from_text)['language'] # to = $1 # # begin # display(@translator.translate(from.to_sym, to.to_sym, from_text)) # rescue Exception => e # puts "Error: " + e.message # end end end end Translate.new.run
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
google-translate-0.8.5 | bin/translate |