Se podría...
Primero tendrías que poner todo el contenido en un archivo a modo de variables (el archivo se llamaría, por ejemplo, espanol.php e ingles.php)
(yo haría un array con nombres descriptivos):
EJ:
$txt['titulo'] = "Título de mi página";
$txt['presentacion'] = "Bienvenido";
$txt['contenido1'] = "bla bla bla";
...
en ingles.php, el texto sería
$txt['titulo'] = "Title of my web";
$txt['presentacion'] = "Welcome";
$txt['contenido1'] = "english bla english bla english bla";
...
Después, desde el php llamas al contenido que te interesa mediante el array
<head><title> <?php echo $txt['titulo']; ?></title></head>
Y mediante un GET, le indicas el idioma
if ($_GET['idioma'] == "sp") $archivo = "espanol.php";
if ($_GET['idioma'] == "en") $archivo = "ingles.php";
Luego incluyes el archivo:
include $archivo;
Quedándote la web así estructurada:
Código PHP:
<?php
if ($_GET['idioma'] == "sp") $archivo = "espanol.php";
if ($_GET['idioma'] == "en") $archivo = "ingles.php";
include $archivo;
?>
<html>
<head>
<title> <?php echo $txt['titulo']; ?></title>
</head>
<body>
<h1><?php echo $txt['presentacion']; ?></h1>
<?php echo $txt['contenido1']; ?>
</body>
</html>
Bueno... y el vínculo de cambiar idioma sería <a href="./?idioma=sp">Español</a> | <a href="./?idioma=en">Inglés</a>