In my experience doing all the translations manually can be a real nightmare! %-)
i think you must focus your translation to the dashboard command site like the navigation menu and all other user profile settings, and buttons around the site and things like that!
do this by including into your pages file like this:
include "./includes/languages/english.php";
in a file called ex.: english.php
put like this ex
define('LAN_USER_LOGIN' , 'User Logged In');
define('LAN_USER_LOGOUT' , 'User Logged Out');
.....
and so on
italian.php, spanish.php, french.php ect... and in each of this files have the same defined variables but translated!
then you can let user chose from a list of Countries! many way of doing this btw!
one way can be by using session
// if the user haven't selected a language before!!
if (empty($_SESSION['language'])) {
$_SESSION['language'] = "EN";
} else {
$_SESSION['language'] = YOUR_LANG ;
}
for all other content i recommend to use tools like
http://code.google.com/intl/it-IT/apis/ajaxlanguage/
NOTE: i recommend to you of don't use an auto recognition system, cause it can result in a very annoying experience expecially if you are watching the site from another country!! or just you want chose from, briefly let the user final choice! ;-)
use the auto recognition for autocompletation registration purpose! ;-)
hope this help!