X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/6599fe05863769affec40b65f0447a5524f67290..bec2340a448d2eaa9ffe2e2ca1980b31ae73c342:/app/controllers/amf_controller.rb?ds=sidebyside diff --git a/app/controllers/amf_controller.rb b/app/controllers/amf_controller.rb index 5a8ac49c3..2aee84d0c 100644 --- a/app/controllers/amf_controller.rb +++ b/app/controllers/amf_controller.rb @@ -214,27 +214,26 @@ class AmfController < ApplicationController # uses POTLATCH_PRESETS global, set up in OSM::Potlatch. def getpresets(usertoken,lang) #:doc: + user = getuser(usertoken) + + if user && !user.languages.empty? + request.user_preferred_languages = user.languages + end + + lang = request.compatible_language_from(getlocales) + begin - # first, try the user setting - localised = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/localised/#{I18n.locale}/localised.yaml")) + # if not, try the browser language + localised = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/localised/#{lang}/localised.yaml")) rescue - begin - # if not, try the browser language - localised = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/localised/#{lang}/localised.yaml")) - rescue - # fall back to hardcoded English text - localised = "" - end + # fall back to hardcoded English text + localised = "" end begin - help = File.read("#{RAILS_ROOT}/config/potlatch/localised/#{I18n.locale}/help.html") + help = File.read("#{RAILS_ROOT}/config/potlatch/localised/#{lang}/help.html") rescue - begin - help = File.read("#{RAILS_ROOT}/config/potlatch/localised/#{lang}/help.html") - rescue - help = File.read("#{RAILS_ROOT}/config/potlatch/localised/en/help.html") - end + help = File.read("#{RAILS_ROOT}/config/potlatch/localised/en/help.html") end return POTLATCH_PRESETS+[localised,help] end @@ -860,6 +859,9 @@ class AmfController < ApplicationController } end + def getlocales + Dir.glob("#{RAILS_ROOT}/config/potlatch/localised/*").collect { |f| File.basename(f) } + end # ==================================================================== # Alternative SQL queries for getway/whichways