Det bedste er at lave en såkaldt i18n funktion, der henter en tekststreng fra databasen, ud fra et valgt sprog og så retunerer dette.
Det er meget simpelt og du kan derfor holde styr på EN side, istedet for en side per sprog.
Sproget bør sættes i en SESSION, som din funktion så kan hente og se hvilket sprog den skal returnere.
Forneden er en class jeg har brugt på mit eget site, et .com og .dk.
De bruger den helt samme kode og database, og sætter blot en session der fortæller hvilket sprog der skal vises. Du kan lige ledes lade brugeren vælge selv.
<?php
function i17($id) // Henter ud fra et ID
{
require('Filnavn til MySQL parameter');
$i18 = mysql_connect($dbhost,$dbuser,$dbpass);
if (!$i18)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($dbname, $i18);
$resultat = mysql_query("SELECT * FROM i18 WHERE Id='$id'");
while($row = mysql_fetch_array($resultat))
{
return $row[$_SESSION['lang']];
}
mysql_close($i18);
}
function i18($id) // Henter ud fra ID og applikation
{
require('Filnavn til MySQL parameter');
$i18 = mysql_connect($dbhost,$dbuser,$dbpass);
if (!$i18)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($dbname, $i18);
$resultat = mysql_query("SELECT * FROM i18 WHERE Id='$id' AND Application='$_SESSION[app]'");
while($row = mysql_fetch_array($resultat))
{
return $row[$_SESSION['lang']];
}
mysql_close($i18);
}
?>
Det er en gammel version og bruger ikke helt korrekte MySQL sætninger, men idéen er den samme. Rent faktisk kunne funktionen være på bare en eller to linjer, det afhænger lidt af resten af dit site.