I18n работает нормально, но не на герою. Он всегда показывает английский, даже если браузер установлен в pt-BR. Мы устанавливаем локаль в перед фильтром:Rails I18n не работает должным образом на Heroku
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 с успехом на Heroku, но я не установите локаль на основе настроек браузера пользователя, например, я чувствую, что вы захотите. Можете ли вы изменить свой вопрос, чтобы поделиться кодом, который вы используете для установки языкового стандарта? –
Вы установили 'I18n.available_locales = [: en,:" pt-BR "]' в инициализаторе или где-нибудь еще? –