How to retrieve all translations from yml files in Rails I18n

Tiago picture Tiago · Sep 29, 2010 · Viewed 19.2k times · Source

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

balu picture balu · Oct 29, 2010

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"