From fa262e3243c06abffdc25844600d9df5cc5e7e6a Mon Sep 17 00:00:00 2001 From: mmd-osm Date: Fri, 22 Aug 2025 21:58:39 +0200 Subject: [PATCH] Cache preferred_languages --- app/helpers/browse_helper.rb | 2 ++ lib/locale.rb | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/helpers/browse_helper.rb b/app/helpers/browse_helper.rb index c93d16293..061741546 100644 --- a/app/helpers/browse_helper.rb +++ b/app/helpers/browse_helper.rb @@ -73,6 +73,8 @@ module BrowseHelper private def feature_name(tags) + return nil if tags.empty? + locale_keys = preferred_languages.expand.map { |locale| "name:#{locale}" } (locale_keys + %w[name ref addr:housename]).each do |key| diff --git a/lib/locale.rb b/lib/locale.rb index e1fb59b79..ed89d08eb 100644 --- a/lib/locale.rb +++ b/lib/locale.rb @@ -15,11 +15,11 @@ class Locale < I18n::Locale::Tag::Rfc4646 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.exclude?(candidate) - end - end.reverse.uniq) + @expand ||= List.new(reverse.each_with_object([]) do |locale, expanded| + locale.candidates.uniq.reverse_each do |candidate| + expanded << candidate if candidate == locale || expanded.exclude?(candidate) + end + end.reverse.uniq) end end -- 2.39.5