- def printable_name(object, version=false)
- if object.id.is_a?(Array)
- id = object.id[0]
- else
- id = object.id
- end
- name = t 'printable_name.with_id', :id => id.to_s
- if version
- name = t 'printable_name.with_version', :id => name, :version => object.version.to_s
- end
- if object.tags.include? "name:#{I18n.locale}"
- name = t 'printable_name.with_name', :name => object.tags["name:#{I18n.locale}"].to_s, :id => name
- elsif object.tags.include? 'name'
- name = t 'printable_name.with_name', :name => object.tags['name'].to_s, :id => name
+ # don't look at object tags if redacted, so as to avoid giving
+ # away redacted version tag information.
+ unless object.redacted?
+ available_locales = Locale.list(name_locales(object))
+
+ locale = available_locales.preferred(preferred_languages, :default => nil)
+
+ if object.tags.include? "name:#{locale}"
+ name = t "printable_name.with_name_html", :name => tag.bdi(object.tags["name:#{locale}"].to_s), :id => tag.bdi(name)
+ elsif object.tags.include? "name"
+ name = t "printable_name.with_name_html", :name => tag.bdi(object.tags["name"].to_s), :id => tag.bdi(name)
+ elsif object.tags.include? "ref"
+ name = t "printable_name.with_name_html", :name => tag.bdi(object.tags["ref"].to_s), :id => tag.bdi(name)
+ end