# File lib/http_accept_language.rb, line 11 def user_preferred_languages @user_preferred_languages ||= env['HTTP_ACCEPT_LANGUAGE'].split(',').collect do |l| l += ';q=1.0' unless l =~ /;q=\d+\.\d+$/ l.split(';q=') end.sort do |x,y| raise "Not correctly formatted" unless x.first =~ /^[a-z\-]+$/i y.last.to_f <=> x.last.to_f end.collect do |l| l.first.downcase.gsub(/-[a-z]+$/i) { |x| x.upcase } end rescue # Just rescue anything if the browser messed up badly. [] end