Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: KateLibby en 19 Mayo 2012, 00:14 am



Título: Idioma web según parámetro en la URL
Publicado por: KateLibby en 19 Mayo 2012, 00:14 am
Hola. Estoy creando una web que tendrá diferentes idiomas y me gustaría que, en lugar de crear las páginas por duplicado, tener la página una sola vez y si en la URL tenemos el parámetro ?lang=en, entonces que muestre la web en inglés, de forma que la URL quedaria así

Código:
www.dominio.com/index.php?lang=en

Entonces yo cargaría en cada página un archivo donde está el array con todos los textos que hay en la web.

Mi pregunta es: ¿Cómo podría hacer que me mantenga el parámetro lang=en cada vez que yo pincho en un vínculo? Es decir, lo que quiero es poder poner los links así:

Código:
<a href="entrar.php">link</a>

en lugar de tener que hacerlo así:

Código:
<a href="entrar.php?lang=en">link</a>

pero que igualmente me mantenga el idioma después de pinchar en el link.


Gracias de antemano.


Título: Re: Idioma web según parámetro en la URL
Publicado por: Runex en 19 Mayo 2012, 01:55 am
Para eso vas a tener que pasar el parámetro mediante un formulario por GET y luego ya tirar de PHP. De todas formas con ese método tendrás que crear la web por duplicado en diferentes idiomas.

A estas horas es lo único que se me ocurre no riego yo bien ya  :xD

Un saludo, Runex :)



Título: Re: Idioma web según parámetro en la URL
Publicado por: KateLibby en 19 Mayo 2012, 10:18 am
Pasaré el parámetro por $_GET, pero lo haré mediante un link. Por ejemplo, desde la banderita del idioma que pondré en la cabecera de la página.

¿Pero cómo puedo hacer que este parámetro se mantenga a través de la navegación entre las páginas?


Título: Re: Idioma web según parámetro en la URL
Publicado por: Runex en 19 Mayo 2012, 13:58 pm
Pasaré el parámetro por $_GET, pero lo haré mediante un link. Por ejemplo, desde la banderita del idioma que pondré en la cabecera de la página.

¿Pero cómo puedo hacer que este parámetro se mantenga a través de la navegación entre las páginas?

Ah vale (me imaginaba lo de la banderita xD). Bueno, puedes usar PHP igual, y sacar con $_GET[] los parámetros de la url.

Mediante condicionales,si en ese parámetro pone "en" hacer que cargue la web en inglés. Si pone "es" en español, y así todos los idiomas que quieras añadir, pero como ya te dije, tendrás que crear la misma página en diferentes idiomas :).

Espero que te sirva :).

Un saludo Runex :)


Título: Re: Idioma web según parámetro en la URL
Publicado por: adastra en 19 Mayo 2012, 14:02 pm
guardalo en sesión y así te olvidas de pasarlo siempre por get o por post.


Título: Re: Idioma web según parámetro en la URL
Publicado por: Runex en 19 Mayo 2012, 14:08 pm
guardalo en sesión y así te olvidas de pasarlo siempre por get o por post.

Esa también es otra opción, o mediante cookies, pero más seguras las primeras. Así ya tienes diversas alternativas para hacer lo que quieres.

Un saludo, Runex :)


Título: Re: Idioma web según parámetro en la URL
Publicado por: WarGhost en 20 Mayo 2012, 00:09 am
En cookies seria lo mas conveniente dado que así el usuario en próximas visitas ya tiene predefinido un idioma.