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

bd1hkmkf  于 2022-11-13  发布在  其他
关注(0)|答案(2)|浏览(131)

因此,在本地一切正常,但在heroku它更改为:en
在两个环境中启动控制台:
贺六:

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的问题,当我在不同的浏览器中刷新时,它可以正常工作。
我也需要在初始化器中设置语言环境吗?我很困惑。
FYI:我没有在任何地方以编程方式设置I18n.locale。staging.rb是普通的。

2o7dmzc5

2o7dmzc51#

它帮助直接设置区域设置:

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

vfhzx4xs2#

您使用的是Ruby on Rails的哪个版本?我对2.x不太肯定,但在Rails 3中,您可以使用config.i18n.default_locale = :en设置config/application.rb中的默认语言环境。(这是默认情况下注解掉的行。)

相关问题