]> git.openstreetmap.org Git - rails.git/blobdiff - vendor/plugins/http_accept_language/lib/http_accept_language.rb
Merge branch 'master' into openid
[rails.git] / vendor / plugins / http_accept_language / lib / http_accept_language.rb
index bf34935d4050dc04996bd75e9aac1f50a1e3603c..1266a3e645560b26bec1f3a7faba4f5479dddf21 100644 (file)
@@ -22,6 +22,12 @@ module HttpAcceptLanguage
     []
   end
 
+  # Sets the user languages preference, overiding the browser
+  #
+  def user_preferred_languages=(languages)
+    @user_preferred_languages = languages
+  end
+
   # Finds the locale specifically requested by the browser.
   #
   # Example:
@@ -42,9 +48,8 @@ module HttpAcceptLanguage
   #
   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
+        y.to_s =~ /^#{Regexp.escape(x.to_s)}(-|$)/
       end
     end.compact.first
   end