Class: Gcloud::Translate::Translation

Inherits:
Object
  • Object
show all
Defined in:
lib/gcloud/translate/translation.rb

Overview

# Translation

Represents a translation query result. Returned by Api#translate.

Examples:

require "gcloud"

gcloud = Gcloud.new
translate = gcloud.translate

translation = translate.translate "Hello world!", to: "la"

puts translation #=> Salve mundi!

translation.from #=> "en"
translation.origin #=> "Hello world!"
translation.to #=> "la"
translation.text #=> "Salve mundi!"

See Also:

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(text, to, origin, from, detected) ⇒ Translation

Returns a new instance of Translation.



72
73
74
75
76
77
78
# File 'lib/gcloud/translate/translation.rb', line 72

def initialize text, to, origin, from, detected
  @text = text
  @to = to
  @origin = origin
  @from = from
  @detected = detected
end

Instance Attribute Details

#fromObject (readonly) Also known as: source

The source language from which the text was translated.



67
68
69
# File 'lib/gcloud/translate/translation.rb', line 67

def from
  @from
end

#originString (readonly)

The original query text that was translated.

Returns:

  • (String)


55
56
57
# File 'lib/gcloud/translate/translation.rb', line 55

def origin
  @origin
end

#textString (readonly) Also known as: to_s, to_str

The translated result.

Returns:

  • (String)


47
48
49
# File 'lib/gcloud/translate/translation.rb', line 47

def text
  @text
end

#toString (readonly) Also known as: language, target

The target language into which the text was translated.

Returns:

  • (String)


61
62
63
# File 'lib/gcloud/translate/translation.rb', line 61

def to
  @to
end

Class Method Details

.from_gapi(gapi, to, origin, from) ⇒ Object

by the Google API Client object.



105
106
107
108
109
# File 'lib/gcloud/translate/translation.rb', line 105

def self.from_gapi gapi, to, origin, from
  from ||= gapi["detectedSourceLanguage"]
  detected = !gapi["detectedSourceLanguage"].nil?
  new gapi["translatedText"], to, origin, from, detected
end

.from_response(resp, text, to, from) ⇒ Object

defined by the Google API Client object.



94
95
96
97
98
99
100
# File 'lib/gcloud/translate/translation.rb', line 94

def self.from_response resp, text, to, from
  res = text.zip(Array(resp.data["translations"])).map do |origin, gapi|
    from_gapi gapi, to, origin, from
  end
  return res.first if res.size == 1
  res
end

Instance Method Details

#detected?Boolean

Determines if the source language was detected by the Google Cloud Translate API.

Returns:

  • (Boolean)

    ‘true` if the source language was detected by the Translate service, `false` if the source language was provided in the request



87
88
89
# File 'lib/gcloud/translate/translation.rb', line 87

def detected?
  @detected
end