我怎样才能找出 rails (包括宝石)加载的语言环境文件?

How can I find out what locale-files are loaded by rails (including gems)?

我正在为我的应用程序引入新的语言环境,并将 config/locales/.locale1.yml 中的所有现有文件复制到 config/locales/ .locale2.yml.

起初我希望 I18n.backend.send(:translations)['locale1'] 等于 I18n.backend.send(:translations)['locale2'],但是当我比较两个哈希值时,我意识到我的新 'locale2' 缺少一堆翻译。

我认为对于 locale1,已经从 gem 加载了额外的翻译,例如流行的 rails-i18n gem.

由于没有(简单的)方法来找出在哪个 .yml 文件中定义了翻译,我想获取从任何 gem 加载的所有语言环境文件的列表。

有什么关于如何获取该信息的建议吗?

更有趣的是,如果我真的可以实现一种方法来确定从哪个文件加载了翻译,但我想这需要编写一个自定义的 i18n 后端,以某种方式存储每个键的加载位置。

问题的措辞后,我需要搜索的内容变得很清楚:'rails i18n load paths'。

通过使用:

Rails.configuration.i18n.load_path.select { |path| path.match('bundle/gems') }

我接近我需要的东西。仍然不是实际加载的文件或包含感兴趣语言环境的翻译的列表,但至少是 i18n 考虑的所有 gem 的列表。