我有一个包含I18n翻译键的.yml
文件的Rails项目。我想创建一个rake任务(或类似的),它提取添加键的路径(git识别为添加的行)。将结果写入终端或文件无关紧要。
示例.yml文件:
en:
index: # <-- new key
greeting: "Hello world!" # <-- new key
show:
title: "Old text"
body: "This is a text" # <-- new key
rake任务的输出/结果示例:
en.index.greeting
en.show.body
这有可能吗?谢谢!
答案 0 :(得分:1)
是的,你可以。此功能将打印所有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