I've tried it both ways, and have come to prefer the "flatted" approach for a few reasons.
If a translator forgets to translate "title", you end up with the literal text "title", which is not very useful. The English equivalent serves as a better backstop.
Better reuse of translated strings. I was able to eliminate a number of duplicates by flattening things.
While $page means something to you and me, it does not to a translator. I had to continually remind myself whether it is a symbol for the HTML page name, the .inc name, or the name of the subsection in the .conf file.
Finally, having added a bunch of translations to a bunch of different skins, it's hard, tedious work! We desperately need some tools to help. in particular, an equivalent to the GNU utility xgettext. I think this will be a lot easier to write with a flattened name space. In fact, despite having pushed you in that general direction, I'm thinking of doing away with the "subscripting" notation and going back to your original "functional" notation of $gettext('translate me', 'some context'). It would be easier to write a tool for it.
This is why the beta period has been so long. The stakes are high, and I want to experiment and make sure we get it right!
-tk
All-in-all, I didn't see the problem it was trying to solve.