Idioma web según parámetro en la URL

Iniciado por KateLibby, 19 Mayo 2012, 00:14 AM

0 Miembros y 2 Visitantes están viendo este tema.

KateLibby

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í

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í:

<a href="entrar.php">link</a>

en lugar de tener que hacerlo así:

<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.

Runex

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 :)

"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".

KateLibby

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?

Runex

#3
Cita de: 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?

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 :)
"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".

adastra

guardalo en sesión y así te olvidas de pasarlo siempre por get o por post.

Runex

Cita de: adastra en 19 Mayo 2012, 14:02 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 :)
"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".

WarGhost

En cookies seria lo mas conveniente dado que así el usuario en próximas visitas ya tiene predefinido un idioma.
¿Qué culpa tengo yo de tener la sangre roja y el corazón a la izquierda?