Tiago Tiago - 4 months ago 18
YAML Question

How to retrieve all translations from yml files in Rails I18n

I'm guessing that rails stores all the parsed translations yml files in a sort of array/hash.
Is there a way to access this?

For example, if I've a file:

en:
test_string: "testing this"
warning: "This is just an example


Could I do something like, I18n.translations_store[:en][:test_string] ?
I could parse the yml file with YAML::load, but in my case I've splitted the yml files in subfolders for organization, and I'm pretty sure that rails already parsed them all.

Answer

You got to call a private method on the backend. This is how you get access:

translations = I18n.backend.send(:translations)
translations[:en][:test_string] # => "testing this"