Method: Microengine::Dispatcher#language

Defined in:
lib/dispatcher.rb

#language(http, available) ⇒ Object

Select best language for user



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/dispatcher.rb', line 70

def language(http, available)
  # Language selected manually
  if not http.get['lang'].nil?
    return http.get['lang'] if available.include? http.get['lang']
  elsif http.cookie['lang']
    return http.cookie['lang'] if available.include? http.cookie['lang']
  end
  
  # Select user language
  http.langs.each do |lang|
    lang.downcase!
    return lang if available.include? lang
  end
  
  # Select any language
  if available.include? @config['default_language']
    @config['default_language']
  else
    available.first
  end
end