- 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
+ available_locales = Locale::List.new(name_locales(object))
+
+ Rails.logger.info "available_locales = #{available_locales.map(&:to_s)}"
+
+ preferred_locales = if current_user
+ current_user.preferred_languages
+ else
+ Locale.new(I18n.locale).candidates
+ end
+
+ Rails.logger.info "preferred_locales = #{preferred_locales.expand.map(&:to_s)}"
+
+ locale = available_locales.preferred(preferred_locales)
+
+ Rails.logger.info "locale = #{locale}"
+
+ 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 => content_tag(:bdi, name)
+ elsif object.tags.include? "ref"
+ name = t "printable_name.with_name_html", :name => content_tag(:bdi, object.tags["ref"].to_s), :id => content_tag(:bdi, name)