Ver Mensaje Individual
  #9 (permalink)  
Antiguo 01/05/2010, 08:58
klaudio83
 
Fecha de Ingreso: octubre-2009
Mensajes: 70
Antigüedad: 14 años, 6 meses
Puntos: 0
Pregunta Pagina en varios idiomas

Aquí dejo el código no envía ningún error, efectivamente carga los valores de idioma español, pero si selecciono alguno de los otros idiomas no carga nada queda tal cual la pagina en español

No se cual sera el problema espero puedan ayudarme por favor.

index.php
Código PHP:
<?php
error_reporting
(E_ALL E_STRICT);
/* 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

//$_SERVER['HTTP_ACCEPT_LANGUAGE']
//$_GET['idioma'];
//$HTTP_ACCEPT_LANGUAGE != ''
if ($_SERVER['HTTP_ACCEPT_LANGUAGE'] != ''){
 
// Si es así, miramos que idiomas ha definido:
    
$idiomas explode(","$_SERVER['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], 02) == "es"){$idioma "es";}
            if (
substr($idiomas[$i], 02) == "en"){$idioma "en";}
            if (
substr($idiomas[$i], 02) == "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");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!--// 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>
    <!-- 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="index.php?idioma=es">Español</a></li><?php ?>
     <?php if ($idioma != 'en') { ?><li><a href="index.php?idioma=en">English</a></li><?php ?>
     <?php if ($idioma != 'de') { ?><li><a href="index.php?idioma=de">Deutsch</a></li><?php ?>
</ul>

</body>
</html>

idioma_es.php
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";
?>

idioma_en.php
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";
?>

idioma_de.php
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";
?>

Última edición por klaudio83; 01/05/2010 a las 09:42