diff --git a/config.rb b/config.rb index c600b0f..b64fe7d 100644 --- a/config.rb +++ b/config.rb @@ -154,6 +154,19 @@ helpers do def path_to_url(path) Addressable::URI.join(config.site_url, path).normalize.to_s end + + def available_translation_for(language) + language_name = language.last[:name] + language_path = "source/#{language.first}" + + if File.exists?("#{language_path}/#{$last_version}") + "#{$last_version} #{language_name}" + elsif File.exists?("#{language_path}/#{$previous_version}") + "#{$previous_version} #{language_name}" + else + nil + end + end end # -------------------------------------- diff --git a/source/layouts/layout.html.haml b/source/layouts/layout.html.haml index 91b2244..f57b928 100644 --- a/source/layouts/layout.html.haml +++ b/source/layouts/layout.html.haml @@ -46,14 +46,10 @@ %nav.locales{ role: "navigation" } %select - $languages.each do |language| - - version_exists = File.exists?("source/#{language.first}/#{$last_version}") - selected = language_code == language.first - - if version_exists - %option{ selected: selected, label: "#{$last_version} #{language.last[:name]}", value: language.first } - - else - - previous_version = File.exists?("source/#{language.first}/#{$previous_version}") - - if previous_version - %option{ selected: selected, label: "#{$previous_version} #{language.last[:name]}", value: language.first } + - if available_translation = available_translation_for(language) + %option{ selected: selected, label: available_translation, value: language.first } + = available_translation .main{ role: "main" } - if !latest_version