Advertisement
Guest User

Untitled

a guest
Sep 4th, 2015
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. module Concerns::Localizable
  2. extend ActiveSupport::Concern
  3.  
  4. included do
  5. around_action :localize
  6. end
  7.  
  8. def localize
  9. return false if set_locale === false
  10. yield
  11. set_language_header
  12. end
  13.  
  14. def default_url_options(options = {})
  15. super.merge({ locale: I18n.locale })
  16. end
  17.  
  18. private
  19.  
  20. def set_locale
  21. if request.get? && params[:locale].blank?
  22. redirect_to request.query_parameters.merge(locale: I18n.default_locale)
  23. return false
  24. else
  25. I18n.locale = params[:locale] || I18n.default_locale
  26. end
  27. end
  28.  
  29. def set_language_header
  30. response.headers['Content-Language'] = I18n.locale.to_s
  31. end
  32. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement