Después de ellos cada vez que escribas una variable nueva deberás ponerla en el fichero que estarán todas en todos los idiomas, en este caso español e inglés.
El fichero lo llamaremos como el fichero web más 'idioma' por ejemplo 'indexIdioma.php'
<?
switch ($idioma)
{
// Ingles
case "ing":
$zhola = "hello";
break;
// Castellano
default:
$zhola = "hola";
}
?>
Como podemos ver y es recomendable pondremos el idioma principal en el default.
Por último el fichero de la página web:
<?
if(isset($_POST['idioma']))
{
$idioma=$_POST['idioma'];
$_SESSION['idioma']=$idioma;
}
else
{
if(isset($_SESSION['idioma']))
$idioma=$_SESSION['idioma'];
else
$idioma="";
}
?>
<?include("indexIdioma.php");?>
<?echo $zhola;?>
<script type="text/javascript">
function cambiar(idioma)
{
if(idioma=='ing')
{document.getElementById('idioma').value='ing';}
else
{document.getElementById('idioma').value='esp';}
document.form.submit();
}
</script>
<form id="form" name="form" action="prueba.php" method="post">
<input name="idioma" id="idioma" value="" type="hidden"/>
<input type="button" value="Inglés" onclick="cambiar('ing');"/>
<input type="button" value="Español" onclick="cambiar('esp');"/>
</form>
Primeramente vemos si se le ha dado a uno de los diversos botones para cambiar el idioma si es asi se guardará en $idioma y en la variable 'idioma' de la sesion el idioma elegido por el usuario, se guarda en la sesión para ir pasandola por las diversas páginas web que tengamos y asi no tengas que cambiar el idioma cada vez que cambiemos de página.
Lo siguiente es ver si en el caso que el usuario no haya dado al boton de los idiomas verá si ya existe un idioma en la sesión sino la pondra a cadena vacia y por tanto irá al default del switch el cual en este caso será español.
Por último tenemos el formulario donde cambiaremos el idioma, según el boton que haya elegido el usuario volverá a cargar la pagina pero ya con el idioma elegido ya que lo pondra en el $_POST['idioma'].
Muchas gracias, es muy útil tu post!Llevaba mucho tiempo intentando hacer algo parecido.
ResponderEliminarMuy bueno tu blog, te visitare a menudo ;)
ResponderEliminarssh! que te vigilo
ResponderEliminardonde estan los mensjaes de pantalla "patataaaaaaaa"??? no lo entiendo....
ResponderEliminarfleinWein
En pantalla se ve, un ejemplo hay puesto -> echo $zhola;
ResponderEliminar