Я думаю, что @hellvinz отлично ответил на первую часть вашего вопроса - как реализована локализация.
Но если вы хотите использовать динамические вложенные средства доступа в общем виде, и вы использовали i18n только в качестве примера,тогда OpenStruct может быть классом для вас.
x = OpenStruct.new
x.foo = 10
x.bar = OpenStruct.new
x.bar.blee = "hello"
x.bar.whatever = "xx"
puts x.foo # => 10
puts x.bar.blee # => "hello"
puts x.bar.whatever # => "xx"
Он реализован всеми возможными method_missing
- для получения дополнительной информации вы можете взглянуть на вашу реализацию ruby (ostruct.Р.Б.)