From: Tom Hughes Date: Tue, 14 Feb 2012 15:26:01 +0000 (+0000) Subject: Prefer an exact language match over a prefix match X-Git-Tag: live~5875 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/590eb85ee19f7ef5304ca7a43a9a0f20c7c2ed3d Prefer an exact language match over a prefix match --- diff --git a/vendor/plugins/http_accept_language/lib/http_accept_language.rb b/vendor/plugins/http_accept_language/lib/http_accept_language.rb index 1266a3e64..0cc8a7719 100644 --- a/vendor/plugins/http_accept_language/lib/http_accept_language.rb +++ b/vendor/plugins/http_accept_language/lib/http_accept_language.rb @@ -47,11 +47,10 @@ module HttpAcceptLanguage # request.compatible_language_from I18n.available_locales # def compatible_language_from(array) - user_preferred_languages.map do |x| - array.find do |y| - y.to_s =~ /^#{Regexp.escape(x.to_s)}(-|$)/ - 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