
17/02/2007, 03:20
|
 | | | Fecha de Ingreso: marzo-2004 Ubicación: Guatemala
Mensajes: 363
Antigüedad: 21 años Puntos: 11 | |
Re: web en dos idiomas Hola, una de las formas sencillas en las que puedes manejar esta situacion es a traves de la utilizacion de una variable de session que concatenaras al contenido o variables, ya sea dinamico traido de una base de datos o bien almacenado en algun array o variable de session quemado a mano. La dinamica seria la siguiente:
(supondremos que es de una base de datos)
Deberias tener una tabla con la siguiente estructura:
id int(11) unsigned not null auto_increment primary key
nombre varchar(100) not null
nombre_ENG varchar(100) not null
en tu pagina home.php tendrias tus enlaces para el switch del idioma
<a href="home.php?idioma=1">espanol</a>& nbsp;<a href="home.php?idioma=2">Ingles</a>
En este caso al momento de dar click en el enlace de ingles le estarias pasando a tu pagina home.php una variable via GET llamada idioma con un valor igual a 1 o 2, En tu home.php, al inicio de tu archivo deberias hacer una verificacion de la existencia de esta variable de la siguiente manera:
session_start();
if( isset($_GET['idioma']) && (int)$_GET['idioma'] == 2 ){
$_SESSION['ENG'] = '_ENG';
}elseif( isset($_GET['idioma']) && (int)$_GET['idioma'] == 1) {
$_SESSION['ENG'] = '';
}else{
$_SESSION['ENG'] = '';
}
Con lo cual estarias creando una variable de session con el valor '_ENG' el cual te servira para concatenarselo a los nombres de los campos extraidos de tus resultados a la base de datos, algo asi:
// aqui ya has echo tu query y obtenido resultado de tu base de datos
// imprimimos el campo nombre
echo($resultado['nombre'.$_SESSION['ENG']]);
con lo cual si la variable de session ENG existe y su valor es _ENG, el contenido del campo que presentara sera el del campo de ingles de tu base de datos (nombre_ENG), y si no te presentara el del campo en espanol.
Lo mismo puede ser utilizado como te comentaba utilizando arrays de variables de session u otras variables si es que no tienes acceso a una base de datos o tu informacion del switch del idioma la estas guardando en otro medio.
un saludo.
Última edición por ebe; 17/02/2007 a las 03:23
Razón: to put just one equal sign
|