From 65eec829782df172eee676afe5b136fe33295a58 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=86var=20Arnfj=C3=B6r=C3=B0=20Bjarmason?= Date: Wed, 23 Sep 2009 17:08:46 +0000 Subject: [PATCH] [2304]: Split the default English i18n parameter in Potlatch out to a YAML file --- app/controllers/amf_controller.rb | 37 +++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/app/controllers/amf_controller.rb b/app/controllers/amf_controller.rb index 1e87e47c2..d2c0230a8 100644 --- a/app/controllers/amf_controller.rb +++ b/app/controllers/amf_controller.rb @@ -221,23 +221,36 @@ class AmfController < ApplicationController end lang = request.compatible_language_from(getlocales) + localised = getlocalized(lang) - 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 + # Get help from i18n but delete it so we won't pass it around + # twice for nothing + help = localised["help_html"] + help = 'foo' + localised.delete("help_html") - 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 return POTLATCH_PRESETS+[localised,help] end + def getlocalized(lang) + en = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/locales/en.yml"))["en"] + + if lang == 'en' + return en + else + # Use English as a fallback + begin + other = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/locales/#{lang}.yml"))[lang] + rescue + other = en + end + + # We have to return a flat list and some of the keys won't be + # translated (probably) + return en.merge(other) + end + end + ## # Find all the ways, POI nodes (i.e. not part of ways), and relations # in a given bounding box. Nodes are returned in full; ways and relations -- 2.43.2