ProgramacionWeb - Ayuda al webmaster
No has iniciado sesión
Conectar al sistema | Registrar usuario
Categorías Articulo
 
3 votos
Sitios multilingües
 
 
Vamos a ver cómo podemos hacer una web en la que los visitantes puedan escoger el idioma en el que quieran ver la web y que esta preferencia quede almacenada en una cookie para que cuando vuelvan a la web la vean en el idioma deseado.

Pero para hacerlo no vamos a hacer una página para cada idioma sinó que vamos a ver cómo estructurar nuestra página para que una misma página sea ofrecida en más de un idioma que estará almacenado en un archivo externo.

Primero escogeremos los idiomas en los que queremos ofrecer nuestra página, que para el ejemplo serán castellano, ingles y catalán, entonces crearemos un archivo con un nombre que identifique al idioma en un directório llamado lang (es.php, en.php y ca.php) para cada uno de los idiomas en los que pondremos el texto traducido de nuestra página en forma de variables, por ejemplo, si en nuestra página ponemos un texto que será 'Puedes seleccionar otro idioma de la lista:', seguido de un combo con la palabra idiomas y los idiomas, en es.php tendremos que definir todos los textos que usaremos en castellano:
 
lang/es.php
000 
001 
002 
003 
004 
005 
006 
<?
$txt_cambiarIdioma 
'Puedes seleccionar otro idioma de la lista:';
$txt_idiomas 'idiomas';
$txt_catalan 'Catalán';
$txt_espanol 'Español';
$txt_ingles 'Inglés';
?>
 
Y lo mismo lo haremos en el archivo en.php y en ca.php pero con los textos en inglés y en catalán:
 
lang/en.php
000 
001 
002 
003 
004 
005 
006 
<?
$txt_cambiarIdioma 
'You can choose another language:';
$txt_idiomas 'languages';
$txt_catalan 'Catalan';
$txt_espanol 'Spanish';
$txt_ingles 'English';
?>
 
Y cuando hagamos nuestra página, en lugar de poner el texto, pondremos la variable del texto que hay que mostrar en la página, de esta manera, cuando queramos mostrar 'Puedes seleccionar... ' pondremos <?=$txt_cambiarIdioma?>, de esta manera:
 
000 
001 
002 
003 
004 
005 
006 
007 
008 
009 
010 
<html>
<body>
<?=$txt_cambiarIdioma?> 
<select onchange="document.location = '<?=$_SERVER['PHP_SELF']?>?idioma=' + this.value"> 
<option><?=$txt_idiomas?> 
<option value="ca"><?=$txt_catalan?> 
<option value="es"><?=$txt_espanol?> 
<option value="en"><?=$txt_ingles?>
</select> 
</body>
</html>
 
Esto nos mostrará un combo con los idiomas disponibles para poder cambiarlos, si seleccionamos una opción, no enviará a pagina.php?idioma=idiomaSeleccionado.
 

Páginas: 1 2

 
 
Comentarios
Este artículo no ha sido comentado hasta el momento
 
Resolver dudas
Si tienes problemas o dudas con el contenido del artículo no dudes a preguntar en los foros de PHP de Programación Web indicando el artículo al que te refieres.

 
Autor:
 eloi
 
Traducciones