Class: GTranslate::Client

Inherits:
Object show all
Defined in:
lib/g_translate/client.rb

Constant Summary collapse

@@translate_url =
'http://translate.google.com/translate_t'
@@result_dom_id =
:result_box
@@result_regex =
/<div[^>]*id=#{@@result_dom_id}[^>]*>(([^<]|<br>|<br ?\/>)*)/u
@@translation_pairs =
{
  'ar' => ['en'],
  'zh' => ['en'],
  'nl' => ['en'],
  'en' => ['ar', 'zh', 'nl', 'fr', 'de', 'el', 'it', 'ja', 'ko', 
           'pt', 'ru', 'es','hi','he'],
  'fr' => ['en', 'de'],
  'de' => ['en', 'fr'],
  'el' => ['en'],
  'it' => ['en'],
  'ja' => ['en'],
  'ko' => ['en'],
  'pt' => ['en'],
  'ru' => ['en'],
  'es' => ['en'],
   'hi' => ['en'],
   'he' => ['en']
}

Instance Method Summary collapse

Instance Method Details

#request(opts = {}) ⇒ Object

Execute request for google translate

Parameters

opts<Hash>:: An options hash (see below)

Options (opts)

:text<String>

The source text you want translated

:source<String>

Source language in iso_639_2 format

:target<String>

Target language in iso_639_2 format

Returns

String

The translated text



42
43
44
45
46
47
48
49
50
51
# File 'lib/g_translate/client.rb', line 42

def request( opts = {} )
  return '' unless translatable?( opts[:source], opts[:target] )
  
  the_language_pair, and_text = 
    language_pair_for( opts[:source], opts[:target] ), opts[:text]

  the_response = get_response_given( the_language_pair, and_text )

  return extracted_result_from( the_response )
end