I have solved multi-lingual problems in another way where there's a global translate function that gets inserted before any string that is to be translated, that bit looks similar to what Wil suggested.

This solution though reads/writes to a database table which can easily be send off - together with a small program - to anyone that is suitable for doing the translation. Then a global setting govern which language to use on a user-by-user level.