Forum .LRN Q&A: How best enable language switching of portal elements and portal pages?

Names (labels) of portal elements and portal pages are stored by the
new-portal package in the database. The advantage of this is that the
admin of a portal could change those names to whatever he pleases. The
.LRN customize layout page currently only allows changing portal page
names but adding ability to change portal element names wouldn't be hard.

To be able to make the default names of portal elements and pages
locale sensitive (meaning that in German the fs-portlet will be
labeled Dateien rather than Documents) my idea was to take the
approach that we took with multilingual APM parameters. This means we
would store <span>#</span>fs-portlet.pretty_name# in the database as the
pretty_name for the file storage portlet and this value would then be
localized on the fly on every request. If the admin changes the pretty
name to something other than the multilingual default then
multilinguality will be lost, but this seems acceptable.

My question is first of all, is this a good idea? Second of all, how
is it best implemented? Should I add a -localize switch to the
get_pretty_name proc of the portals, or should I add a new proc (i.e.
get_pretty_name_message_key)? Any hints about what pieces of code need
to be changed to achieve the localization would be appreciated.

I would also be curious to know if the refactoring of new-portal
changes the handling of pretty names in some way that I need to know of.



Would it be feasible to create a "pseudo-locales" where changes made to the "pretty_names" could be stored so multilinguality would not be lost (and an admin could revert to his changes if he decides to try out some other language just for the heck of it)?