Ruby on rails 随机加载了错误的I18n区域设置

Ruby on rails 随机加载了错误的I18n区域设置,ruby-on-rails,ruby,ruby-on-rails-4,internationalization,rails-i18n,Ruby On Rails,Ruby,Ruby On Rails 4,Internationalization,Rails I18n,有时会加载英语配置,而不是预期的日语配置,而英语配置实际上并不存在,也不会设置为默认语言环境或备用语言环境 问题是它偶尔/随机发生,以前不可能复制,但今天它开始频繁发生。也就是说,只需停留在同一页面上并按F5键,就可以平均导致大约50/50%的EN/JAP地区出现(没有模式,只是随机出现)。 问题是,该站点甚至根本没有实现ENG语言环境,因此当它尝试加载ENG语言环境时,它会失败,并出现一个可以理解的错误: ERROR -- : .... translation missing: en.some

有时会加载英语配置,而不是预期的日语配置,而英语配置实际上并不存在,也不会设置为默认语言环境或备用语言环境

问题是它偶尔/随机发生,以前不可能复制,但今天它开始频繁发生。也就是说,只需停留在同一页面上并按F5键,就可以平均导致大约50/50%的EN/JAP地区出现(没有模式,只是随机出现)。
问题是,该站点甚至根本没有实现ENG语言环境,因此当它尝试加载ENG语言环境时,它会失败,并出现一个可以理解的错误:

ERROR -- : .... translation missing: en.some_translation...
这是唯一发生的错误

但它甚至不应该尝试加载英语语言环境。
在application.rb中牢固地设置了区域设置:

config.i18n.default_locale = :ja
config.i18n.locale = :ja
production.rb不应覆盖此设置,因为它只包含:

config.i18n.fallbacks = false
它只发生在生产中。
“god restart app_name”修复了一段时间,但随着时间的推移,它似乎发生得越来越多,但我不能肯定这一点。
如果我将默认语言环境设置为:

config.i18n.default_locale = :en
但是我已经将我的应用程序代码改为“default_locale”,找不到任何更改它的代码。一些宝石可能是罪魁祸首吗

Rails版本:4.2.7.1
I18n vesrion:0.7.0


非常感谢在这一点上提供任何提示。

我已经找到了加载
:en
区域设置的原因

config.i18n.fallbacks
实际上在后面的代码中被设置为
true
。 由于
config.i18n.available\u locales
未在application.rb中明确设置,
i18n
gem中包含
:en
区域设置,并且当
:ja
区域设置在
config.i18n.locale
config.i18n.default\u locale
中设置的
区域设置时,加载失败(原因未知),它试图退回到导致问题的
:en
区域设置

不幸的是,仍然不知道为什么
:js
语言环境无法加载,但我想这完全是另一个问题


谢谢你的提示

这显然是一个完全的猜测,因为我无法访问您的任何源代码。。。但是,您的应用程序中可能有一些代码(例如,在gem中)正在使用
I18n.locale=:en
--更改全局状态,然后由于您的生产服务器有多个进程,只有其中一些进程卡在备用区域设置中。您可能没有正确设置默认区域设置。我在很多应用程序中使用过I18n,但从未遇到过这个问题。您的应用程序控制器中是否有
set\u locale
方法?使用
before\u action:set\u locale
,这可能是rails 4中的
before\u filter
。@TomLord感谢您的建议!这就是我目前正在调查的线索,因为没有其他线索。我没有这样的代码在项目本身,但宝石是一种可能性,但问题是,我有大约230宝石在我的捆绑…@mayorsanmayor感谢评论!然而,我不认为是这样的,因为这个项目实际上是一个工作项目,而且通常(日语)语言环境没有任何问题。但在一些非常罕见的情况下(通常),出于某种原因,它会尝试加载ENG。至于应用程序控制器,我没有在那里使用
set\u locale
方法,但我在/config/application.rb中设置了locale,我认为这应该足够了。。。