X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/88aa34f61bf74b723aa4a4431208c63783e834f8..9816c7dd0a6880589f2310f64b1acf672f4497e5:/app/helpers/browse_helper.rb diff --git a/app/helpers/browse_helper.rb b/app/helpers/browse_helper.rb index 48dd590a2..1d0b02df0 100644 --- a/app/helpers/browse_helper.rb +++ b/app/helpers/browse_helper.rb @@ -16,41 +16,33 @@ module BrowseHelper return name end - def wiki_link(type, key, tag) - wiki_data = YAML.load_file("#{RAILS_ROOT}/config/wiki-tag-and-key-description.yml") - my_locale = I18n.locale.to_s - - if type == "key" - ret = key - lookup = key + def format_key(key) + if url = wiki_link("key", key) + link_to h(key), url, :title => t('browse.tag_details.wiki_link.key', :key => key) else - ret = tag - lookup = key + "=" + tag + h(key) end + end - # Try our native language - has_primary = wiki_data[my_locale][type][lookup] rescue false - if has_primary - ret = wikify(type, key, tag, lookup, wiki_data[my_locale][type][lookup]) + def format_value(key, value) + if url = wiki_link("tag", "#{key}=#{value}") + link_to h(value), url, :title => t('browse.tag_details.wiki_link.tag', :key => key, :value => value) else - # Fall back on English - has_fallback = wiki_data["en"][type][lookup] rescue false - if has_fallback - ret = wikify(type, key, tag, lookup, wiki_data["en"][type][lookup]) - end + linkify h(value) end - - return ret end - def wikify(type, key, tag, text, wiki) - my_locale = I18n.locale - url = "http://wiki.openstreetmap.org/wiki/#{wiki}?uselang=#{my_locale}" - - if type == "key" - return '' + h(text) + '' - else - return '' + h(tag) + '' +private + + def wiki_link(type, lookup) + locale = I18n.locale.to_s + + if page = WIKI_PAGES[locale][type][lookup] rescue nil + url = "http://wiki.openstreetmap.org/wiki/#{page}?uselang=#{locale}" + elsif page = WIKI_PAGES["en"][type][lookup] rescue nil + url = "http://wiki.openstreetmap.org/wiki/#{page}?uselang=#{locale}" end + + return url end end