I18n работает как положено локально, но не на героку. Он всегда показывает английский язык, даже если браузер настроен на pt-BR. Мы устанавливаем локаль в фильтре перед:
class ApplicationController < ActionController::Base
before_filter :set_locale
private
def set_locale
I18n.set_preferred_locale(env.http_accept_language)
end
end
module I18n
class << self
def set_preferred_locale(http_accept_language)
locale = http_accept_language.preferred_language_from(I18n.available_locales)
if locale.present?
I18n.locale = locale
I18n.default_locale = locale #added based on some stackflow answer about heroku and I18n
end
end
end
end
Я подтвердил через регистратор, что I18n.locale имеет правильное значение (pt-BR) в представлениях, но переводы на английский язык все еще приходят.
Я также пробовал в качестве теста просто установить прямо на «pt-BR» и все равно получаю тот же результат:
class ApplicationController < ActionController::Base
before_filter :set_locale
private
def set_locale
I18n.locale = 'pt-BR'
end
end
I18n.available_locales = [:en, :"pt-BR"]
в инициализаторе или где-то еще? - person Paul Fioravanti   schedule 13.02.2013