tengo un código para traducir el texto de mi pagina, utilizando variables en php. el problema que tengo es que soy nuevo en esto del php y el código se ve sencillo pero no puedo hacer que funcione correctamente debe haber algún detalle que no e podido encontrar. dejo el código esperando que alguien me ayude con esto.
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<?php
/* Este código detecta el idioma por defecto del visitante.
Sin embargo, si el visitante indica un idioma mediante la URL (siguiendo un enlace) toma preferencia */
// Miramos si el usuario ha definido un idioma por defecto en su navegador
if ($HTTP_ACCEPT_LANGUAGE != ''){
// Si es así, miramos que idiomas ha definido:
$idiomas = explode(",", $HTTP_ACCEPT_LANGUAGE); # Convertimos HTTP_ACCEPT_LANGUAGE en array
/* Recorremos el array hasta que encontramos un idioma del visitante que coincida con los idiomas en que está disponible nuestra web */
for ($i=0; $i<count($idiomas); $i++){
// Si aún no hemos definido la variable $idioma...
if (!isset($idioma)){
/* Miramos si tiene algún idioma de los disponibles entre sus favoritos.
Empezando por su primer favorito y acabando por su último favorito */
if (substr($idiomas[$i], 0, 2) == "es"){$idioma = "es";}
if (substr($idiomas[$i], 0, 2) == "en"){$idioma = "en";}
if (substr($idiomas[$i], 0, 2) == "de"){$idioma = "de";}
//if (substr($idiomas[$i], 0, 2) == "gl"){$idioma = "gl";}
}
}
}
// Si aún no hemos encontrado ningún idioma que nos convenga, mostramos la web en el idioma por defecto
if (!isset($idioma)){$idioma = "es";}
// Ahora incluimos la plantilla de idioma correspondiente al idioma que pertoque:
include("idioma_$idioma.php");
?>
<html>
<head>
<?php // Ahora sustituimos los textos por variables (contenidas en textos_$idioma.php) ?>
<title><?php echo $t_titulo; ?></title>
</head>
<body>
<h1><?php echo $t_cabecera; ?></h1>
<p><?php echo $t_texto; ?></p>
<ul><?php // Estos textos no los sustituímos porque son los nombres de los idiomas en el idioma al que apuntan ?>
<?php if ($idioma != 'es') { ?><li><a href="plantilla.php?idioma=es">Español</a></li><? } ?>
<?php if ($idioma != 'en') { ?><li><a href="plantilla.php?idioma=en">English</a></li><? } ?>
<?php if ($idioma != 'de') { ?><li><a href="plantilla.php?idioma=de">Deutsch</a></li><? } ?>
</ul>
</body>
</html>
Código PHP:
<?php
// Textos en español.
$t_titulo = "Página en varios idiomas";
$t_cabecera = "Bienvenido";
$t_texto = "Esta página está disponible en varios idiomas";
?>
Código PHP:
<?php
// Textos en Ingles.
$t_titulo = "Site in several languages";
$t_cabecera = "Welcome";
$t_texto = "This page is available in several languages";
?>
Código PHP:
<?php
// Textos en Aleman.
$t_titulo = "Diese Seite ist in mehreren Sprachen verfügbar";
$t_cabecera = "Willkommen";
$t_texto = "Diese Seite ist in mehreren Sprachen verfügbar";
?>