]> git.openstreetmap.org Git - rails.git/blobdiff - vendor/plugins/http_accept_language/lib/http_accept_language.rb
Ignore db/structure.sql
[rails.git] / vendor / plugins / http_accept_language / lib / http_accept_language.rb
index f181c9f4309287d6aac017cdf9723ac7415aa0f6..0cc8a7719774f00ac836e1370ebac98afe156ab6 100644 (file)
@@ -25,7 +25,7 @@ module HttpAcceptLanguage
   # Sets the user languages preference, overiding the browser
   #
   def user_preferred_languages=(languages)
-    @user_preferred_languages = languages.join(",")
+    @user_preferred_languages = languages
   end
 
   # Finds the locale specifically requested by the browser.
@@ -47,12 +47,10 @@ module HttpAcceptLanguage
   #   request.compatible_language_from I18n.available_locales
   #
   def compatible_language_from(array)
-    user_preferred_languages.map do |x|
-      x = x.to_s.split("-")[0]
-      array.find do |y|
-        y.to_s.split("-")[0] == x
-      end
-    end.compact.first
+    user_preferred_languages.find do |x|
+      array.find { |y| y.to_s == x.to_s } ||
+      array.find { |y| y.to_s =~ /^#{Regexp.escape(x.to_s)}-/ }
+    end
   end
 
 end