2013-02-12 2 views
0

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 
+1

Я использую i18n с успехом на Heroku, но я не установите локаль на основе настроек браузера пользователя, например, я чувствую, что вы захотите. Можете ли вы изменить свой вопрос, чтобы поделиться кодом, который вы используете для установки языкового стандарта? –

+0

Вы установили 'I18n.available_locales = [: en,:" pt-BR "]' в инициализаторе или где-нибудь еще? –

ответ

3

Оказывается, я устанавливал его штраф. Проблема заключалась в том, что в моем pt-BR.yml была отметка порядка байтов. По-видимому, герою не может загружать языковые файлы с ними - heroku not loading language file.

Я использовал Vim, чтобы удалить маркер с:

:set nobomb 
:w 
+0

Ницца. Если необходимо, сможете ли вы отредактировать свой вопрос или ответ с результатом ошибки или журналов «heroku», чтобы они могли быть отнесены к проблемам с спецификацией? –

+0

Боюсь, что сообщения об ошибке не было. Это то, что сделало это так трудно снять. Я понял, что файл не загружается пробной версией и ошибкой. – DrewB

+0

Испытание и ошибка - это тяжелый лозунг :-) Если все хорошо сейчас, не могли бы вы отметить это как принятый ответ для всеобщего блага. –

0

работал для меня, я открыл любой файл и сохранить его с nobomb

Смежные вопросы