I created a site at
http://www.skinetcanada.ca that is fully bilingual. I use a php file that has an array of French and English terms- here is an example
$terms['E']['hello']='Hello';
$terms['F']['hello']='Bonjour';
$terms['E']['alpine']='Alpine';
$terms['F']['alpine']='Alpin';
I include this file in all the site php files
I also use cookies to remember the preferred language in a variable named $language; then whenever I need a particular language I just write the following:
echo $terms[$language]['hello'];// the $language variable must have been initialized to 'E' or 'F'.
You could could use same the same technique for other languages as well.
Another option is to use a mysql table to hold the translations.
This method only work though if you have a site that is mostly numbers. If you have a lot of text; you could simple start all English files with an E_ and all French files with an F_ and then use AJAX and javascript to load the appropriate file.