One observation: 
class.to_s.underscore isn't what would happen in the case of the LocalNames module

The default computed value when display_name was called for a class without an entry was this:
class.demodulize.underscore.humanize.titlecase

So I am not sure if there are going to be places where this fails in hard-to-find ways. (likely only in rendered HTML text blocks I think).

I am wondering what the default implementation for "Display Name" is in the Rails world.  There is one right?