Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/02/2007, 03:20
Avatar de ebe
ebe
 
Fecha de Ingreso: marzo-2004
Ubicación: Guatemala
Mensajes: 363
Antigüedad: 20 años, 1 mes
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;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.
__________________
http://dev.wsnetcorp.com

Última edición por ebe; 17/02/2007 a las 03:23 Razón: to put just one equal sign