I have a hack related to this running on my UBB6 test board that allows the user to select their language, though it's a bit out of date, what with all the wordlet changes. It uses a secondary cache for all display pages, but uses a central one for everything else, like the search indexes. I'm planning on modifying it so that the user can change their template choice as well, just waiting for UBB6 to come out of beta before I do any more work on it.