我将向我的应用程序引入一个新的区域设置,并将 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 后端,以某种方式存储每个密钥的加载位置。