class GoogleTranslate

Constants

GOOGLE_TRANSLATE_URI

Public Class Methods

translate(params) click to toggle source
# File lib/free_google_translate.rb, line 11
def translate params
  res = make_request build_translate_query params
  @translated = JSON.parse(res.body).flatten[0]
end

Private Class Methods

build_translate_query(params) click to toggle source
# File lib/free_google_translate.rb, line 45
def build_translate_query params
  {
    client: "gtx",
    sl: get_source_language(params),
    tl: get_target_language(params),
    dt: "t",
    q: get_text(params),
    le: "UTF-8",
    oe: "UTF-8"
  }
end
full_language_name(short_language_name) click to toggle source
# File lib/free_google_translate.rb, line 63
def full_language_name short_language_name
  FreeGoogleTranslate::LANGS[short_language_name]
end
get_source_language(params) click to toggle source
# File lib/free_google_translate.rb, line 17
def get_source_language params
  if params[:from]
    if full_language_name params[:from]
      params[:from]
    else
      raise StandardError, "Source language is invalid"
    end
  else
    "auto"
  end
end
get_target_language(params) click to toggle source
# File lib/free_google_translate.rb, line 29
def get_target_language params
  if full_language_name params[:to]
    params[:to]
  else
    raise StandardError, "Target language is invalid"
  end
end
get_text(params) click to toggle source
# File lib/free_google_translate.rb, line 37
def get_text params
  if params[:text]
    params[:text]
  else
    raise StandardError, "Text can not empty"
  end
end
make_request(query) click to toggle source
# File lib/free_google_translate.rb, line 57
def make_request query
  uri = URI GOOGLE_TRANSLATE_URI
  uri.query = URI.encode_www_form query
  res = Net::HTTP.get_response uri
end