require 'open-uri' require 'hpricot' require 'iconv' word = `xsel`.split(" ").first exit 1 unless word =~ /\w+/ doc = Hpricot(open("http://dict.leo.org/ende?lp=ende&lang=en&searchLoc=0&cmpType=relaxed§Hdr=on&spellToler=on&chinese=both&pinyin=diacritic&search=#{word}&relink=on")) translation = doc/"table[@id=results]" translation.search("img").remove translation.search("a") { |a| a.swap(a.innerHTML) } (translation.search("tr")[20..-1] || []).each { |e| e.swap("") } translation = Iconv.conv("UTF-8", "ISO-8859-1", translation.to_s) translation.gsub!("'", "&#x#{?'.to_s(16)};") `kdialog --passivepopup '#{translation}'`