Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2011, 12:51
kechu
 
Fecha de Ingreso: febrero-2011
Ubicación: define ('Ubicación', 'Mi_casa');
Mensajes: 21
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta Problema con multilenguaje

Hola!!
Soy nuevo en esta gran comunidad. Espero que me podáis resolver mis dudas que creo que seguramente.

Sé usar el html, css y estoy aprendiendo el dominio del php y Mysql (perdonad mi ignorancia en ese tema, tengo 14 años y me parece que me queda mucho que aprender xD).

Bueno a lo que iba. Tengo una web, creada a mano, a base de html, php y css (logico xD).
Le emplemente el sistema multilenguaje con la deteccion del idioma con cookies, y usando arrays. La deteccion me funciona, tengo mi opera web browser en español predet. y me sale en español, y el explorer en ingles y me sale en ingles. el mozilla firefox en frances y me sale en frances. La deteccion funciona perfectamente, pero quiero implementar un cuadro de selección o con banderas para que el que navegue en la web cambie de idioma si quiere.

Aqui están los códigos:

index.php:
Código PHP:
<?php 


if(empty($idioma)){ 
      
$idioma getenv("HTTP_ACCEPT_LANGUAGE");
      } 
switch(
$idioma){ 
          case 
"es" 
             include(
"lang/es.php");
             break; 
          case 
"en" 
             include(
"lang/en.php"); 
             break;               
          case 
"fr" 
             include(
"lang/fr.php"); 
             break; 
          default : 
             include(
"lang/es.php"); 
             break; 
       } 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="http://misitio.com/style-webcss" rel="stylesheet" type="text/css" />
<title><?php echo $idioma['title']; ?></title>
</head>

<body id="inicio">
<div id="content">
<form name="language" action="" method="post">
    <select onchange = "document.language.submit()" name="idioma">
        <option selected="selected"><?php echo $idioma ['select-language']; ?></option>
        <option value="en"><?php include("lang/en.php"); echo $idioma['en']; ?></option>
        <option value="es"><?php include("lang/es.php"); echo $idioma['es']; ?></option>
        <option value="fr"><?php include("lang/fr.php"); echo $idioma['fr']; ?></option>
     </select>
</form>        
<div id="cabecera">
<a href="http://misitio.com"> <img src="logo.gif" title="algo" /></a>
<p> <?php echo $idioma['eslogan']; ?> </p>
</div>
<div id="naveg">
<ul id="menu">
<li id="nav01"><a href="http://misitio.com/index.php"><?php echo $idioma['index']; ?></a></li>
<li id="nav02"><a href="http://misitio.com/contacto/contacto.php"><?php echo $idioma['contacto']; ?></a></li>
</ul>
</div>
<div id="areatexto">
<h2><?php echo $idioma['index']; ?> </h2>
<div id="spoiler">
<div class="pre-spoiler">
<span style="float:left; padding-top: 2px;"></span> <input type="button" value="Mostrar" style="width:80px;font-size:10px;margin:0px;padding:0px;" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = '';this.innerText = ''; this.value = 'Esconder'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.value = 'Mostrar';}">
</div>
<div>
<div class="spoiler" style="display: none;"><br />
<h1> <?php echo $idioma['construccion']; ?></h1> <br />
</div>
</div>
</div>


<p>!Hola! Esta web est&aacute; en construcci&oacute;n. Por favor, tengan paciencia, pronto estar&aacute; terminada.</p>


</div>
<div id="pie">
<address id="casaddress">
Calle ... &middot; Nerja &middot; Espa&ntilde;a <br/>
Telf: 6... &middot; 6...
</address>
<address id="kechunet">
Plantilla creada por <a href="otrositio.com"><b>kechu&reg;</b></a>
</address>
</div>
</div>
</body>
</html>
En lo form y lo de option es donde tengo el problema. Por favor ayúdenme xD
es.php:

Código PHP:
<?php

    
/* Spanish language configuration */

     
$idioma = array (

         
/* Titulo de pagina */
         
'title' => "Incicio",

         
/* Contenido */
        
'eslogan' => "algo.",
        
'index' => "Inicio",
          
'contacto' => "Contacto",
          
'construccion' => "¡En construcci&oacute;n!",


        
/* Seleccione idioma */
          
'select-language' => "Seleccione lenguaje",
          
'es' => "Espa&ntilde;ol",
          
'en' => "Ingl&eacute;s",
          
'fr' => "Franc&eacute;s"
     
);
?>
en.php:

Código PHP:
<?php

    
/* English language configuration */

     
$idioma = array (

         
/* Title of page */
         
'title' => "Index",

         
/* Contenido */
        
'eslogan' => "something.",
        
'index' => "Index",
          
'contacto' => "Contact",
          
'construccion' => "Under construction!",


        
/* Select language */
          
'select-language' => "Select language",
          
'es' => "Spanish",
          
'en' => "English",
          
'fr' => "French"
     
);
?>
fr.php:

Código PHP:
<?php

    
/* French language configuration */

     
$idioma = array (

         
/* Titulo de pagina */
         
'title' => "-Home",
     
         
/* Contenido */
        
'eslogan' => "chose",
        
'index' => "Index",
          
'contacto' => "Contact",
          
'construccion' => "¡En construcci&oacute;n",
                    

        
/* Seleccione idioma */
          
'select-language' => "S&eacute;lection de la langue",
          
'es' => "Espagnol",
          
'en' => "Anglais",
          
'fr' => "Francais"
     
);
?>

Bueno ahi esta todo solo lo que me falla es lo del index.php en lo de cambio de idioma manual. se que es seguramente algun fallo sencillo pero como he dicho antes soy nuevo en php.
Muchas gracias y saludos!!