Ver Mensaje Individual
  #10 (permalink)  
Antiguo 01/05/2010, 10:54
Avatar de spider_boy
spider_boy
 
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Pagina en varios idiomas

Aquí está, funcionando...

Código PHP:
Ver original
  1. <?php
  2. error_reporting(E_ALL | E_STRICT);
  3. /* Este código detecta el idioma por defecto del visitante.
  4. Sin embargo, si el visitante indica un idioma mediante la URL (siguiendo un enlace) toma preferencia */
  5.  
  6. // Miramos si el usuario ha definido un idioma por defecto en su navegador
  7.  
  8. //$_SERVER['HTTP_ACCEPT_LANGUAGE']
  9. //$_GET['idioma'];
  10. //$HTTP_ACCEPT_LANGUAGE != ''
  11. $idioma = $_GET['idioma'];
  12. if ($_SERVER['HTTP_ACCEPT_LANGUAGE'] != ''){
  13.  // Si es así, miramos que idiomas ha definido:
  14.     $idiomas = explode(",", $_SERVER['HTTP_ACCEPT_LANGUAGE']); # Convertimos HTTP_ACCEPT_LANGUAGE en array
  15.  
  16.  /* Recorremos el array hasta que encontramos un idioma del visitante que coincida con los idiomas en que está disponible nuestra web */
  17.     for ($i=0; $i<count($idiomas); $i++){
  18.   // Si aún no hemos definido la variable $idioma...
  19.         if (empty($idioma)){
  20.    /* Miramos si tiene algún idioma de los disponibles entre sus favoritos.
  21.    Empezando por su primer favorito y acabando por su último favorito */
  22.             if (substr($idiomas[$i], 0, 2) == "es"){$idioma = "es";}
  23.             if (substr($idiomas[$i], 0, 2) == "en"){$idioma = "en";}
  24.             if (substr($idiomas[$i], 0, 2) == "de"){$idioma = "de";}
  25.             //if (substr($idiomas[$i], 0, 2) == "gl"){$idioma = "gl";}
  26.         }
  27.     }
  28. }
  29.  
  30. // Si aún no hemos encontrado ningún idioma que nos convenga, mostramos la web en el idioma por defecto
  31. //if (empty($Idioma)){$idioma = "es";}
  32.  
  33. // Ahora incluimos la plantilla de idioma correspondiente al idioma que pertoque:
  34. include("idioma_$idioma.php");
  35. ?>
  36. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  37. <html>
  38. <head>
  39. <!--// Ahora sustituimos los textos por variables (contenidas en textos_$idioma.php)-->
  40. <title><?php echo $t_titulo; ?></title>
  41. </head>
  42.  
  43. <body>
  44.  
  45. <h1><?php echo $t_cabecera; ?></h1>
  46. <p><?php echo $t_texto; ?></p>
  47. <ul>
  48.     <!-- Estos textos no los sustituímos porque son los nombres de los idiomas en el idioma al que apuntan ?>-->
  49.      <?php if ($idioma != 'es') { ?><li><a href="index.php?idioma=es">Español</a></li><?php } ?>
  50.      <?php if ($idioma != 'en') { ?><li><a href="index.php?idioma=en">English</a></li><?php } ?>
  51.      <?php if ($idioma != 'de') { ?><li><a href="index.php?idioma=de">Deutsch</a></li><?php } ?>
  52. </ul>
  53.  
  54. </body>
  55. </html>
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.