]> git.openstreetmap.org Git - rails.git/blobdiff - app/helpers/browse_helper.rb
Try harder to find a name in the right language
[rails.git] / app / helpers / browse_helper.rb
index 7562535c1b54b1a3846738b9f7516cb4a9d2cda5..bfc7db80bf6199641de4a064951d696fa0ce3e9d 100644 (file)
@@ -13,10 +13,16 @@ module BrowseHelper
     # don't look at object tags if redacted, so as to avoid giving
     # away redacted version tag information.
     unless object.redacted?
-      if object.tags.include? "name:#{I18n.locale}"
-        name = t 'printable_name.with_name_html', :name => content_tag(:bdi, object.tags["name:#{I18n.locale}"].to_s ), :id => name
+      locale = I18n.locale.to_s
+
+      while locale =~ /-[^-]+/ and not object.tags.include? "name:#{I18n.locale}"
+        locale = locale.sub(/-[^-]+/, "")
+      end
+
+      if object.tags.include? "name:#{locale}"
+        name = t 'printable_name.with_name_html', :name => content_tag(:bdi, object.tags["name:#{locale}"].to_s ), :id => content_tag(:bdi, name)
       elsif object.tags.include? 'name'
-        name = t 'printable_name.with_name_html', :name => content_tag(:bdi, object.tags['name'].to_s ), :id => name
+        name = t 'printable_name.with_name_html', :name => content_tag(:bdi, object.tags['name'].to_s ), :id => content_tag(:bdi, name)
       end
     end