Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/03/2012, 18:11
CorpseOfSteel
 
Fecha de Ingreso: julio-2007
Ubicación: Málaga
Mensajes: 600
Antigüedad: 16 años, 9 meses
Puntos: 56
Pregunta cambiar URL para cada idioma

Hola peacheperos, acudo a vosotros con un problema que no consigo resolver.

A ver si consigo explicarlo. Tengo una web con varios idiomas dividido por carpetas, y URLs amigables que son comunes para todos los idiomas. Pongo un ejemplo:

misitio.com/es/plantas
misitio.com/en/plantas
misitio.com/fr/plantas

No puedo usar base de datos. Así que tengo un archivo de traducciones con todos los textos divididos por idiomas. Con el SESSION LANG detecto el idioma del usuario y le muestro el texto correspondiente. En este archivo he añadido los nombres de las URL:

Si es español:
$url_plantas='plantas';

Si es ingles:
$url_plantas='flowers';

Si es frances:
$url_plantas='fleurs';

Actualmente para cambiar de idioma tengo 3 botones que te cambia la carpeta de idioma (es, en, fr), manteniendo la url. Lo que necesito es que la URL cambie al cambiar de idioma. Ejemplo:

misitio.com/es/plantas
misitio.com/en/flowers
misitio.com/fr/fleurs

Con htaccess hago las urls dinámicas amigables. Para hacer este cambio he pensado en hacerlas estáticas ya que son pocas secciones. le digo que:

/es/plantas = plantas.php?lang=es
/en/flowers = plantas.php?lang=en
/fr/fleurs = plantas.php?lang=fr

PERO haciendo ésto sólo, si por ejemplo estoy en el idioma español, los botones de cambio de idioma me siguen dando estos links: (ya que detecta idioma español)

misitio.com/es/plantas
misitio.com/en/plantas
misitio.com/fr/plantas


Esto me da un error 404. Puedo corregirlo con htacces redirigiendo:

misitio.com/en/plantas a misitio.com/en/flowers
misitio.com/fr/plantas a misitio.com/fr/fleurs

PERO esa no es la solución, ya que no me parece profesional hacer 2 redirecciones cada vez que se cambie de idioma.

¿Cómo puedo hacer que los botones de cambio de idioma me muestren esto?:

misitio.com/es/plantas
misitio.com/en/flowers
misitio.com/fr/fleurs

¿Hay alguna forma de obligarle a que el botón inglés tenga el SESSION LANG en inglés para que detecte la URL "flowers"?, sin cambiarme el SESSION LANG de toda la página.

...Creo que he dado demasiadas vueltas y ya no se por donde salir, agradecería si alguien pudiera orientarme un poco.

Muchas gracias por adelantado!!