heroku I18n语言环境与default_locale不同,在本地工作正常

所以,一切都在本地工作正常,但在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很简单。

它有助于直接设置区域设置。

 config.i18n.default_locale = :nb #Adding the below makes it work as expected at heroku config.i18n.locale = :nb 

如果您有更好的解决方案,请告诉我,您将获得更多投票和接受的答案。

您使用的是什么版本的Ruby on Rails? 我对2.x没有好感,但是在Rails 3中你可以使用config.i18n.default_locale = :enconfig/application.rb设置默认语言环境。 ( 这是该行 ,默认情况下已注释掉。)