class ActionController::Base
Public Instance Methods
set_locale()
click to toggle source
# File lib/translations_ennder/rails.rb, line 51 def set_locale # Needs a session return if session[:session_id].blank? _param_locale = params[:locale] if _param_locale.present? && _param_locale.match(/^(en|fr)$/) # Comes from a request parameter I18n.locale = _param_locale elsif session[:locale].blank? && request.env['HTTP_ACCEPT_LANGUAGE'].present? # Comes from the request headers _http_lang_tab = request.env['HTTP_ACCEPT_LANGUAGE'].scan(/^[a-z]{2}/) if _http_lang_tab.present? && _http_lang_tab.first.present? if _http_lang_tab.first.match(/^(en|fr)$/) I18n.locale = _http_lang_tab.first else set_locale_session_or_fr end else set_locale_session_or_fr end else set_locale_session_or_fr end # logger.debug "GEM translations_ennder, locale=[#{session[:locale]}]" if session[:locale] != I18n.locale logger.debug "GEM translations_ennder, set_locale [#{session[:locale]}]=>[#{I18n.locale}]" session[:locale] = I18n.locale end end
set_locale_session_or_fr()
click to toggle source
# File lib/translations_ennder/rails.rb, line 83 def set_locale_session_or_fr # Comes from the session or not provided I18n.locale = session[:locale] || :fr end