module Polivalente::UserLocale

Protected Instance Methods

extracted_locale_from_header() click to toggle source
# File lib/polivalente/user_locale.rb, line 18
def extracted_locale_from_header
  request.headers['HTTP_ACCEPT_LANGUAGE'].scan(/^[a-z]/).first.to_sym
rescue NoMethodError
  nil
end
set_user_locale!() click to toggle source
# File lib/polivalente/user_locale.rb, line 6
def set_user_locale!
  @user_locale ||= params[:locale] ||
    session[:locale] ||
    extracted_locale_from_header ||
    I18n.default_locale

  I18n.locale = @user_locale

rescue I18n::InvalidLocale
  I18n.locale = @user_locale = I18n.default_locale
end