因此,在本地一切正常,但是在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。我也必须在初始化程序中设置语言环境吗?我很困惑。
仅供参考:我没有在任何地方以编程方式设置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 - heroku I18n语言环境与default_locale不同,在本地可以正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5156765/