有时候,加载的不是预期的日语配置,而是英语配置,英语配置实际上不存在,也没有设置为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
希望你能给点提示。
2条答案
按热度按时间zbsbpyhn1#
我已经找到了
:en
locale加载的原因。config.i18n.fallbacks
实际上在代码中后来被设置为true
。由于config.i18n.available_locales
没有在application.rb中显式设置,I18n
gem包含了:en
区域设置,当在config.i18n.locale
和config.i18n.default_locale
中设置的:ja
区域设置无法加载时(原因尚不清楚),它试图回退到:en
区域设置,导致了问题。不幸的是,仍然不知道为什么
:js
区域设置加载失败,但我想这完全是另一个问题。谢谢你的提示!
628mspwn2#
我遇到了同样的问题。我已经解决了这个问题,并发现我设置“set_scale”功能也像以前一样在另一个控制器上设置_action,而不是applicaton_controller。