Add helper to simplify the build of language selector

This commit is contained in:
David Díaz 2017-07-06 20:59:19 +01:00
parent 313a4406c0
commit d17b637097
2 changed files with 16 additions and 9 deletions

View File

@ -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
# --------------------------------------

View File

@ -46,16 +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 }
= "#{$last_version} #{language.last[:name]}"
- 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 }
= "#{$previous_version} #{language.last[:name]}"
- if available_translation = available_translation_for(language)
%option{ selected: selected, label: available_translation, value: language.first }
= available_translation
.main{ role: "main" }
- if !latest_version