ruby 随机加载错误的I18n区域设置

nlejzf6q  于 2023-10-18  发布在  Ruby
关注(0)|答案(2)|浏览(159)

有时候,加载的不是预期的日语配置,而是英语配置,英语配置实际上不存在,也没有设置为default_locale或备用语言。
问题是它偶尔/随机发生,以前不可能复制,但今天它开始经常发生。也就是说,仅仅停留在同一个页面上并按F5平均会导致大约50/50%的EN/JAP区域设置出现(没有模式,只是随机的)。
问题是,该网站甚至没有实现ENG语言环境,所以当它试图加载ENG语言环境时,它会失败,并出现一个可以理解的错误:

ERROR -- : .... translation missing: en.some_translation...

这是唯一发生的错误。
但它甚至不应该试图加载ENG本地化。
locale在application.rb中被固定设置:

config.i18n.default_locale = :ja
config.i18n.locale = :ja

production.rb不应该被设置为这个值,因为它只包含:

config.i18n.fallbacks = false

它只发生在生产中。
“god restart app_name”修复了一段时间,但随着时间的推移,它似乎发生得更多,但我不能肯定。
如果我将default_locale设置为:

config.i18n.default_locale = :en

但是我已经为“default_locale”grepped了我的应用程序代码,找不到任何更改它的代码。会不会是什么宝石?
Rails版本:4.2.7.1
I18 n vesrion:0.7.0
希望你能给点提示。

zbsbpyhn

zbsbpyhn1#

我已经找到了:en locale加载的原因。
config.i18n.fallbacks实际上在代码中后来被设置为true。由于config.i18n.available_locales没有在application.rb中显式设置,I18n gem包含了:en区域设置,当在config.i18n.localeconfig.i18n.default_locale中设置的:ja区域设置无法加载时(原因尚不清楚),它试图回退到:en区域设置,导致了问题。
不幸的是,仍然不知道为什么:js区域设置加载失败,但我想这完全是另一个问题。
谢谢你的提示!

628mspwn

628mspwn2#

我遇到了同样的问题。我已经解决了这个问题,并发现我设置“set_scale”功能也像以前一样在另一个控制器上设置_action,而不是applicaton_controller。

相关问题