所以,一切都在本地工作正常,但在heroku它改为:en
在两种环境中启动控制台:
Heroku:
heroku console --app myapp
当地:
rails c
然后玩耍
Heroku: > I18n.l Time.now
=> "Tue, 01 Mar 2011 06:43:58 -0800"
Local: > I18n.l Time.now
=> "tirsdag, 1. mars 2011, 15:43"
Heroku: > I18n.default_locale
=> :nb
Local: > I18n.default_locale
=> :nb
#after a lot more trial and error, I find this:
Heroku: > I18n.locale
=> :en
Local: > I18n.locale
=> :nb
在控制台中执行I18n.locale = :nb
修复问题ATM,当我在不同的浏览器中刷新时,它可以正常工作。但在重新部署时,它又回到了:en。
我是否也必须在initilizer中设置语言环境?我很困惑。
仅供参考:我没有以编程方式将I18n.locale设置在任何地方。 staging.rb很简单。
答案 0 :(得分:9)
它帮助直接设置了区域设置。
config.i18n.default_locale = :nb
#Adding the below makes it work as expected at heroku
config.i18n.locale = :nb
如果您有更好的解决方案,请告诉我们,您将获得更多投票和接受的答案。
答案 1 :(得分:0)
您使用的是哪个版本的Ruby on Rails?我对2.x不肯定,但在Rails 3中,您可以使用config/application.rb
在config.i18n.default_locale = :en
中设置默认语言环境。 (This is the line,默认注释掉。)