X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/bf22c69286f97f72625c79d64e7c1a5cb6e95710..3247ffd57ce401892a9a85674cf1d4468c8fc311:/lib/locale.rb?ds=sidebyside diff --git a/lib/locale.rb b/lib/locale.rb index b0ad20fc7..5931301b5 100644 --- a/lib/locale.rb +++ b/lib/locale.rb @@ -10,16 +10,16 @@ class Locale < I18n::Locale::Tag::Rfc4646 preferred.expand & self end - def preferred(preferred) - candidates(preferred).first + def preferred(preferred, options = { :default => Locale.default }) + candidates(preferred).first || options[:default] end def expand List.new(reverse.each_with_object([]) do |locale, expanded| locale.candidates.uniq.reverse_each do |candidate| - expanded << candidate if candidate == locale || !expanded.include?(candidate) + expanded << candidate if candidate == locale || expanded.exclude?(candidate) end - end.reverse.uniq << Locale.default) + end.reverse.uniq) end end