Hi,
In the long-term, wouldn't it be smarter to make some of these stable and quasi-stable tokens automatically cache in their evaluated state?
We already do, we cache such simplified messages in Mediawiki: namespace.
For something like {{SITENAME}} there is little reason to be looking it up every single time the message loads, so why not teach Mediawiki to pre-evaluate that and similar items before putting it in the message cache?
There is little reason to keep {{SITENAME}} in Mediawiki: namespace too :) Generally, this could be handled by simple bot.
Do note, we end up with other messages, where people want to use singular/plural for e.g. 'Categories'.
For the rare case that such things do change you'd need to make sure that the cache does get rebuilt periodically (or have someway to detect such changes and deliberately refresh the cache), but such changes are so rare that adding some lag on update might be acceptable.
Well, Mediawiki: is such cache :) We don't need to change our code at all then :)
Domas