Skip to content

Instantly share code, notes, and snippets.

@dmitry
Created December 4, 2011 17:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmitry/1430786 to your computer and use it in GitHub Desktop.
Save dmitry/1430786 to your computer and use it in GitHub Desktop.
Yandex Slovari (word translation)
%w(rubygems open-uri nokogiri cgi).each {|lib| require lib}
# language directions: en-ru-en de-ru-de fr-ru-fr it-ru-it es-ru-es uk-ru ru-uk kk-ru ru-kk la-ru-la
def translate(text, lang=nil)
url = "http://m.slovari.yandex.ru/search.xml?text=#{CGI::escape(text)}"
url << "&lang=#{lang}" if lang
data = open(url).read
xml = Nokogiri::HTML(data)
{:translations => []}.tap do |r|
r[:word] = xml.css('.b-title')[0].inner_text
xml.css('.b-translate a').each do |v| r[:translations] << v.inner_text end
end
end
p translate('машина', 'es-ru-es')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment