Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Sistema multi idioma en php

Aqui les dejo un script bastante util para crear un sistema multi idioma en php.

creamos el archivo lang.php
<?php 

session_start(); 
// Comprobamos la variable get
if (@$_GET["idioma"]) { 
switch ($_GET["idioma"]) {
// español
case 'es':
$_SESSION["idioma"]=$_GET["idioma"]; 
break;
// ingles
case 'en':
$_SESSION["idioma"]=$_GET["idioma"]; 
break;
// si no existe lo ponemos en español
default:
$_SESSION["idioma"]="es"; 
break;
}
} elseif (!$_SESSION["idioma"]) { 
// Si el get no existe definimos el español
$_SESSION["idioma"]="es"; 
}

// incluimos el idioma con las definiciones 
include("".$_SESSION["idioma"].".php"); 

?> 
Seguimos creando los archivos de idioma, en este ejemplp crearemos español e ingles

es.php
<?php  

$menu1="inicio";

$menu2="blog";

$menu3="miembros";

$menu4="registrate";

$menu5="contacto";

?>

en.php
<?php

$menu1="home";

$menu2="blog";

$menu3="members";

$menu4="register";

$menu5="contact";

?


Para mostrar un cada texto generamos un echo
<?php echo $menu1; ?>

Y creamos los links para cambiar de idioma con
// LINK IDIOMA ESPAÑOL
index.php?idioma=es

// LINK IDIOMA INGLES
index.php?idioma=en
espero que les sea util.
Editado
5
Puntos
4
Resp
787
Visitas
Por zapikero hace 17 meses
Avanzado offline Sitio web

Respuesta #1

muy buen aporte, si señor!!
1
Puntos
Por alber hace 17 meses
Administrador online Sitio web

Respuesta #2

tengo un problema me da error he creado el archivo lang.php y depues los siguientes archivo es.php y en.php, pero de da error a la hora de llamarlo <?php echo $menu1; ?>

<b>Notice</b>: Undefined variable: menu1 in <b>C:\xampp\htdocs\Classiweb\index.php</b> on line <b>29</b><br />
0
Puntos
Por Dannus hace 16 meses
Avanzado offline

Respuesta #3

soluccionado, gracias un error mio :)
0
Puntos
Por Dannus hace 16 meses
Avanzado offline

Respuesta #4

lo unico que cambiaría del codigo para mejor funcionamiento
// esta linea:
} elseif (!$_SESSION["idioma"]) { 

y la pondría así:
} else if (!isset($_SESSION["idioma"])){
1
Puntos
Por Dannus hace 16 meses
Avanzado offline

Relaccionados

Para comentar Inicia sesión o Registrate