module SocialStream::Controllers::I18nIntegration

Common methods added to ApplicationController

Public Instance Methods

set_locale() click to toggle source

Set locale as per params, user preference or default

# File lib/social_stream/controllers/i18n_integration.rb, line 12
def set_locale
  I18n.locale = params[:locale] || user_preferred_locale || session[:locale] || extract_locale_from_accept_language_header || I18n.default_locale
end

Private Instance Methods

extract_locale_from_accept_language_header() click to toggle source
# File lib/social_stream/controllers/i18n_integration.rb, line 17
def extract_locale_from_accept_language_header
  return nil if request.env['HTTP_ACCEPT_LANGUAGE'].nil?
  (request.env['HTTP_ACCEPT_LANGUAGE'].scan(/^[a-z]{2}/).map{|l| l.to_sym} & I18n.available_locales).first
end
user_preferred_locale() click to toggle source
# File lib/social_stream/controllers/i18n_integration.rb, line 22
def user_preferred_locale
  current_user.language if user_signed_in?
end