gpt4 book ai didi

ruby-on-rails - 我如何找出 rails(包括 gems)加载了哪些语言环境文件?

转载 作者:数据小太阳 更新时间:2023-10-29 08:56:48 24 4
gpt4 key购买 nike

我正在为我的应用程序引入一个新的语言环境,并将 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 的列表。

关于ruby-on-rails - 我如何找出 rails(包括 gems)加载了哪些语言环境文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52672115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com