Foros del Web » Programando para Internet » PHP »

Idiomas en php. Pagina bilingue.

Estas en el tema de Idiomas en php. Pagina bilingue. en el foro de PHP en Foros del Web. Hola! EStoy empezando a desarrollar un sitio bilingue y no se me ocurre como tratarlo en la base de datos para no tener que reescribir ...
  #1 (permalink)  
Antiguo 27/07/2004, 03:33
 
Fecha de Ingreso: julio-2004
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Idiomas en php. Pagina bilingue.

Hola!

EStoy empezando a desarrollar un sitio bilingue y no se me ocurre como tratarlo en la base de datos para no tener que reescribir dos veces todo el codigo en funcion del idioma. El resultado que me gustaria es este:

www.ei.upv.es

a alguien se le ocurre como? gracias!
  #2 (permalink)  
Antiguo 27/07/2004, 03:52
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 11 meses
Puntos: 16
Hola,

Parametriza el idioma, usa una variable para indicar el idioma dentro de tu codigo. Puedes tener las consultas de esta forma:
Código PHP:
$consulta="SELECT * FROM menu_$idioma"
siendo idioma la variable que almacena el idioma de visualizacion. Y teniendo una tabla distinta para los datos en cada idioma.

O si usas plantillas, puedes tener la plantilla de cada idioma en un subdirectorio y cargarla con:
Código PHP:
include("./plantillas/$idioma/index.php"); 
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 27/07/2004, 05:37
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 14 años, 5 meses
Puntos: 0
Algo que te podrá venir bien es usar una variable de sesion que indique que idioma eligio el que está visitando la pagina en cada momento. Asi te ahorras pasar por get o post esa variable en todos los scripts.

En el manual de php viene un apartado de variables de sesion.
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.
Tema Cerrado




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