Do the names of the fields differ for different installation instance,
or do they differ for different users on the same installation?
If the former, I would do it with translations. Combined with
something like django-rosetta, you can easily knock up an interface to
allow super-users to set the translation for "First name" to whatever
they want by translating the "en" language (or indeed, any language).
If your site is multi-lingual already, this should be quite easy (and
frankly, if its not, its also very easy to configure). verbose_name
will happily accept a lazy translation as a value, converting it on
display to the "language" specified .
If the latter, then I don't think you can hammer this in to the
verbose_name mechanism without becoming very inventive - perhaps still
with translations, activating a different .mo file per-user?
Cheers
Tom