Foros del Web » Programando para Internet » PHP »

Esto se puede hacer asi??

Estas en el tema de Esto se puede hacer asi?? en el foro de PHP en Foros del Web. Estoy haciendo una web multiidioma, con archivos donde incluyo las contantes y que carga segun el idioma del usuario. Todo perfecto y sin problemas hasta ...
  #1 (permalink)  
Antiguo 09/08/2011, 05:52
 
Fecha de Ingreso: febrero-2007
Mensajes: 172
Antigüedad: 17 años, 2 meses
Puntos: 0
Esto se puede hacer asi??

Estoy haciendo una web multiidioma, con archivos donde incluyo las contantes y que carga segun el idioma del usuario.
Todo perfecto y sin problemas hasta que he querido hacer lo mismo con el menú,que viene de una consulta a base de datos.
Por ejemplo,en los archivos de lenguaje tengo:
define("DATOS_USUARIO","Datos Usuario");
y a la hora de mostrar el menú le digo que muestre por pantalla "DATOS_USUARIO",y eso es lo que muestra "DATOS_USUARIO" en lugar de la cadena del define.

El include del idioma lo hago antes del include para crear el menú:

get_idioma(); //obtengo el idioma y hago el require_once del archivo correspondiente.
include("include_menu.php"); /para conectarse a la base de datos y obtener el menu

Lo textos de la web se cambian sin problemas, únicamente el menú que es el que proviene de base de datos no respeta os defines

Es necesario crear en diferentes idiomas los contenidos de la base de datos que quieras multiidioma o también se puede hacer mediante constantes?
Gracias
  #2 (permalink)  
Antiguo 09/08/2011, 07:13
Avatar de ramiro_md  
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 15 años, 8 meses
Puntos: 26
Respuesta: Esto se puede hacer asi??

mmm yo haría que en la bd haya una tabla menu con las opciones y el codigo del idioma. Por ejemplo si el menu tiene solo la opcion de iniciar sesion la tabla seria:
Cita:
iniciar sesión - 1
login - 2
Donde 1 es el código de idioma español y 2 ingles. Eso te llevará a crear todo el menu en la bd para los distintos idiomas.
Saludos.
  #3 (permalink)  
Antiguo 09/08/2011, 13:12
 
Fecha de Ingreso: febrero-2007
Mensajes: 172
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Esto se puede hacer asi??

De esa manera ya sabía que hacerse,pero quería ver si podía "ahorrarme" el trabajo de crear el menú en la base de datos para cada idioma.
Al final he solucionado el problema colocando el valor de la base de datos en la funcion constant antes de mostrarlo por pantalla:
constant($row["nombre"])

Pero no me acaba de convencer de esta manera,así que creo que lo haré por base de datos como comentas

Etiquetas: usuarios
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 17:00.