Foros del Web » Programando para Internet » PHP »

Duda en página Multilenguaje

Estas en el tema de Duda en página Multilenguaje en el foro de PHP en Foros del Web. Buenos días a todos. Veréis, implementé una web con soporte para dos lenguajes (inglés y español) a partir de un modelo que encontré en las ...
  #1 (permalink)  
Antiguo 19/01/2009, 04:30
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 19 años, 2 meses
Puntos: 1
Duda en página Multilenguaje

Buenos días a todos.

Veréis, implementé una web con soporte para dos lenguajes (inglés y español) a partir de un modelo que encontré en las FAQ. (En concreto el modelo era este)

La pregunta que tengo es si podría forzar la web a un idioma.

Me explico.

La web tiene dos idiomas definidos y siempre muestra uno por defecto en caso de no encontrar el del visitante (yo cambié el script para que se viese por defecto en inglés y si a través del navegador veía que el visitante era español, se visualizase en castellano) y pensando por ejemplo en un visitante extranjero que visualizase la web desde un ciber en España (por ejemplo) me pregunté si sería posible forzar la web a visualizarse en cualquiera de los idiomas definidos mediante un enlace. (A ser posible, dos banderitas, como se hace en la mayoría de sitios adaptados a varios idiomas)


Gracias de antemano por vuestra ayuda y un saludo para todos.
  #2 (permalink)  
Antiguo 19/01/2009, 04:41
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: Duda en página Multilenguaje

Usa una variable de sesion para almacenar el idioma. Al principio de todas tus paginas, mira si existe un parametro en la url para el cambio de idioma, si es valido asignas ese valor a la variable de sesion. Si no existe el parametro, y no existe la variable de sesion, averigua el idioma por el navegador y asignas el valor a la variable de sesion.
Código PHP:
if (!empty($_GET['idioma']) && in_array($_GET['idioma'],$array_idiomas)) {
  
$_SESSION['idioma']=$_GET['idioma'];
} elseif (!isset(
$_SESSION['idioma'])) {
  
$_SESSION['idioma']=idiomaNavegador();
}
$idioma=$_SESSION['idioma']; 
  #3 (permalink)  
Antiguo 19/01/2009, 04:53
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Duda en página Multilenguaje

¡Muchas gracias!

La verdad es que no se me pasó por la cabeza el usar una variable de sesión.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:47.