Class: TranslateCLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/google_translate/translate_cli.rb

Constant Summary collapse

USAGE =
<<-LONGDESC
  Simple client for Google Translate API.

  Usage:
    translate                      # displays usage
    translate -v                   # displays the version
    translate list                 # displays the list of supported languages
    translate en:ru Hello world    # translates from English to Russian
    translate ru Hello world       # translates to Russian from auto-detected language
    translate -s ru Hello world    # translates and tries to say it
LONGDESC

Instance Method Summary collapse

Instance Method Details

#listObject



24
25
26
27
28
29
30
31
# File 'lib/google_translate/translate_cli.rb', line 24

def list
  translator = GoogleTranslate.new

  from_languages, to_languages = translator.supported_languages

  print_languages "From Languages:", from_languages
  print_languages "To Languages:", to_languages
end

#translate(from_lang, to_lang, text) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/google_translate/translate_cli.rb', line 36

def translate from_lang, to_lang, text
  translator = GoogleTranslate.new

  result = translator.translate(from_lang, to_lang, text)

  translation = result[0][0][0]
  translit = result[0][0][2]

  puts "Translation: #{translation}"
  puts "Translit: #{translit}" unless translit.size == 0

  display_synonyms(result)

  say = options[:say] ? (options[:say] == 'true') : false

  if say and !!(RUBY_PLATFORM =~ /darwin/i)
    translator.say(from_lang, text)
    translator.say(to_lang, translation)
  end
end

#versionObject



19
20
21
# File 'lib/google_translate/translate_cli.rb', line 19

def version
  puts "Google Translate Version: #{GoogleTranslate::VERSION}"
end