Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Concerns::Localizable
- extend ActiveSupport::Concern
- included do
- around_action :localize
- end
- def localize
- return false if set_locale === false
- yield
- set_language_header
- end
- def default_url_options(options = {})
- super.merge({ locale: I18n.locale })
- end
- private
- def set_locale
- if request.get? && params[:locale].blank?
- redirect_to request.query_parameters.merge(locale: I18n.default_locale)
- return false
- else
- I18n.locale = params[:locale] || I18n.default_locale
- end
- end
- def set_language_header
- response.headers['Content-Language'] = I18n.locale.to_s
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement