因此,在本地一切正常,但是在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/

10-13 05:28