使用 Ruby 和 git 从 .yml 文件中提取新密钥



我有一个 Rails 项目,其中包含一个包含 I18n 转换键的.yml文件。我想创建一个 rake 任务(或类似任务),它提取添加键的路径(行 git 识别为已添加)。结果是写入终端还是文件并不重要。

示例 .yml 文件:

en:
  index: # <-- new key
    greeting: "Hello world!" # <-- new key
  show:
    title: "Old text"
    body: "This is a text" # <-- new key

抽成任务的示例输出/结果:

en.index.greeting
en.show.body

这在某种程度上可能吗?谢谢!

是的,你可以。此功能将打印所有 I18n 键

def print_translations(prefix, x)
  if x.is_a? Hash
    prefix += "." if prefix.present?
    x.each do |key, value|
      print_translations(prefix + key.to_s, value)
    end
  else
    puts prefix
  end
end
I18n.translate(:foo)
translations_hash = I18n.backend.send :translations
print_translations "", translations_hash

相关内容

  • 没有找到相关文章

最新更新