Method: ApplicationController#set_localization

Defined in:
app/controllers/application_controller.rb

#set_localization(user = User.current) ⇒ Object



247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
# File 'app/controllers/application_controller.rb', line 247

def set_localization(user=User.current)
  lang = nil
  if user && user.logged?
    lang = find_language(user.language)
  end
  if lang.nil? && !Setting.force_default_language_for_anonymous? && request.env['HTTP_ACCEPT_LANGUAGE']
    accept_lang = parse_qvalues(request.env['HTTP_ACCEPT_LANGUAGE']).first
    if !accept_lang.blank?
      accept_lang = accept_lang.downcase
      lang = find_language(accept_lang) || find_language(accept_lang.split('-').first)
    end
  end
  lang ||= Setting.default_language
  set_language_if_valid(lang)
end