Sha256: d9cf557cd055cb69867e2f2f0e7bbae0ae30d509881592e24e34d137c0cc9239

Contents?: true

Size: 1 KB

Versions: 2

Compression:

Stored size: 1 KB

Contents

module GoogleTranslate
  # manage language detection based on a given string of text
  # <b>how to use</b>:
  #   language = LanguageDetect.detect("il fait beau aujourd'hui") # returns "fr"
  class LanguageDetect
    extend ApiCall

    SERVICE = "detect"
    PARAMS = {"v" => "#{VERSION}"}
    
    # detect the language of a given text.
    def self.detect(text)
      PARAMS["q"] = CGI.escape(text)
      #the "true" parameter indicates that HTTP GET should be used (POST is only for translation)
      response = google_api_call(SERVICE,PARAMS,DetectResponse,true)
      raise UnreliableDetection if !response.is_reliable  
      response.language # return value
    end
  end
  
  # to handle the detection response
  class DetectResponse < ParsedResponse
    attr_reader :language, :is_reliable, :confidence
    def initialize(string)
      super(string)      
      @language = @response_data['language']
      @is_reliable = @response_data['isReliable']
      @confidence = @response_data['confidence']
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
crutch-google_translate-0.0.3 lib/google_translate/language_detect.rb
crutch-google_translate-0.0.4 lib/google_translate/language_detect.rb