def set_locale default_locale = 'en-US' accept_locales = LOCALES.keys request_language = request.env['HTTP_ACCEPT_LANGUAGE'] request_language = request_language.nil? ? nil : request_language[/[^,;]+/] if accept_locales.include?(params[:locale]) @locale = params[:locale] else @locale = session[:locale] || request_language || default_locale end session[:locale] = @locale if accept_locales.include?(params[:locale]) cookies[:locale] = @locale if accept_locales.include?(params[:locale]) begin Locale.set @locale rescue Locale.set default_locale end end