Your App might have this issue if you use multithreading server. It's not a bug Rails, but on your app if you don't put before_filter
to all controllers. Open this Pull Request for the details rails/rails#34356, rails/rails#34043, and ruby-i18n/i18n#381.
To prevent this issue, change how the way you set I18n.locale = locale
code to be in around_filter
block, not before_filter
.
around_filter :switch_locale
def switch_locale(&action)
locale = params[:locale] || I18n.default_locale
I18n.with_locale(locale, &action)