Class: Google::Translator
- Inherits:
-
Object
- Object
- Google::Translator
show all
- Defined in:
- lib/google_translate.rb
Defined Under Namespace
Classes: InvalidResponse, MissingFromLanguage, MissingTestText, MissingText, MissingTextLanguage, MissingToLanguage, TranslateServerIsDown
Constant Summary
collapse
- URL_STRING =
"http://ajax.googleapis.com/ajax/services/language/"
- URL2_STRING =
"http://translate.google.com"
Instance Method Summary
collapse
Instance Method Details
#detect_language(test_text) ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/google_translate.rb', line 55
def detect_language(test_text)
raise(MissingTestText) if test_text.nil?
request = URL_STRING + "detect?v=1.0&q=" + CGI.escape(test_text)
begin
response = call_service(request, [:response_data])
response_data = response[:response_data]
raise(TranslateServerIsDown) if response.empty?
response_data
rescue OpenURI::HTTPError
raise(TranslateServerIsDown)
end
end
|
#supported_languages ⇒ Object
72
73
74
|
# File 'lib/google_translate.rb', line 72
def supported_languages
call_service2(URL2_STRING , [])
end
|
#translate(from, to, from_text, options = {}) ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/google_translate.rb', line 33
def translate(from, to, from_text, options={})
raise(MissingFromLanguage) if from.nil?
raise(MissingToLanguage) if to.nil?
raise(MissingTextLanguage) if from_text.nil?
request = URL_STRING + "translate?v=1.0&langpair=#{from}%7C#{to}&q=" + CGI.escape(from_text)
begin
response = call_service(request, [:response_status, :response_details, :response_data])
raise(TranslateServerIsDown) if response.empty?
raise(InvalidResponse, response[:response_details]) if response[:response_status] != 200
to_text = response[:response_data]['translatedText']
(options[:html]) ? CGI.unescapeHTML(to_text) : to_text
rescue OpenURI::HTTPError
raise(TranslateServerIsDown)
end
end
|