fixes locales issue
This commit is contained in:
parent
c2c1961bd0
commit
47405b5b19
1 changed files with 28 additions and 29 deletions
|
@ -8,43 +8,42 @@ module Foodsoft
|
|||
before_filter :set_locale
|
||||
end
|
||||
|
||||
module InstanceMethods
|
||||
def explicitly_requested_language
|
||||
params[:locale]
|
||||
end
|
||||
def explicitly_requested_language
|
||||
params[:locale]
|
||||
end
|
||||
|
||||
def session_language
|
||||
session[:locale]
|
||||
end
|
||||
def session_language
|
||||
session[:locale]
|
||||
end
|
||||
|
||||
def browser_language
|
||||
request.env['HTTP_ACCEPT_LANGUAGE'] ? request.env['HTTP_ACCEPT_LANGUAGE'].scan(/^[a-z]{2}/).first : nil
|
||||
end
|
||||
def browser_language
|
||||
request.env['HTTP_ACCEPT_LANGUAGE'] ? request.env['HTTP_ACCEPT_LANGUAGE'].scan(/^[a-z]{2}/).first : nil
|
||||
end
|
||||
|
||||
def default_language
|
||||
::I18n.default_locale
|
||||
end
|
||||
def default_language
|
||||
::I18n.default_locale
|
||||
end
|
||||
|
||||
protected
|
||||
protected
|
||||
|
||||
def select_language_according_to_priority
|
||||
explicitly_requested_language || session_language || browser_language
|
||||
end
|
||||
def select_language_according_to_priority
|
||||
language = explicitly_requested_language || session_language || browser_language
|
||||
language.to_sym unless language.blank?
|
||||
end
|
||||
|
||||
def available_locales
|
||||
::I18n.available_locales
|
||||
end
|
||||
def available_locales
|
||||
::I18n.available_locales
|
||||
end
|
||||
|
||||
def set_locale
|
||||
if available_locales.include?(select_language_according_to_priority)
|
||||
::I18n.locale = select_language_according_to_priority
|
||||
else
|
||||
::I18n.locale = default_language
|
||||
end
|
||||
|
||||
locale = session[:locale] = ::I18n.locale
|
||||
logger.info("Set locale to #{locale}")
|
||||
def set_locale
|
||||
if available_locales.include?(select_language_according_to_priority)
|
||||
::I18n.locale = select_language_according_to_priority
|
||||
else
|
||||
::I18n.locale = default_language
|
||||
end
|
||||
|
||||
locale = session[:locale] = ::I18n.locale
|
||||
logger.info("Set locale to #{locale}")
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue