SPIP - Contrib

[ar] [en] [es] [fr] [it]



Portada del sitio > Diversos

Seleccionar idioma por cookie, navegador y/o menú

Sábado 21 de enero de 2006, por José Luis Murillo. Última actualización Sábado 8 de octubre de 2005


Un script para seleccionar el idioma de forma automática según la cookie de idioma o el idioma preferido del navegador, y otro para cambiar de forma manual a través de enlaces de idioma.


Siguiendo en la línea de contribs anteriores de Daniel Laurent Laville y Nicolas Hoizey he adaptado un par de scripts (no tienes más que copiar y pegar lo que te interese) que permiten:

- Selec_idioma_auto: Quienes visitan nuestro sitio entran en su propio idioma de forma automática. Primero se fija si está la cookie de idioma y si no la encuentra mira los idiomas preferidos del navegador.

- Selec_idioma_menu: otro script que puede sustituir al #MENU_LANG. Esta baliza crea un menú desplegable difícil de personalizar y sin "banderitas". El script que propongo hace un listado en horizontal, no un desplegable, de los idiomas activos en el sitio público con sus banderitas.

Puedes verlos funcionando en pyrene.info (aclaro: en la página inicial de este sitio el idioma afecta de forma obligatoria sólo a los elementos de navegación, los contenidos se cargan por fecha, no por idioma)

Si las cookies están activadas funcionan todas las posibilidades: presentación automática de la página en la lengua seleccionada en la cookie de idioma, si no está la cookie se presenta en la lengua del navegador y si no en la del sitio.

Si las cookies NO están activadas la navegación del sitio se realiza de forma automática en el idioma preferido en el navegador, no se puede cambiar y se muestra un mensaje de advertencia para que se activen las cookies

Paso previo

Para comprobar primero si están activas las cookies hay que añadir en mes_fonctions.php3:

setcookie(’test’,’test’,time()+3600*24*3600*365);

Script: Selec_idioma_auto

Para instalarlo no hay más que colocarlo al principio del esqueleto como php (entre <?php y ?>). Se podría poner como archivo independiente y llamarlo con un include...

Script: Selec_idioma_menu

Nota: para que funcionen las banderitas hay que crear un directorio "banderas" en IMG y llamarlas "bandera_es.gif" si es la de España y es archivo gif, "bandera_fr.gif" para Francia y en gif, etc

Para personalizar no tienes más que cambiar las opciones de <font> o las que quieras.

Para instalarlo no tienes más que copiar/pegar donde quieras que aparezca

Y eso es todo por ahora. Que te sea útil.


Comentar este artículo

  • Seleccionar idioma por cookie : Se dobla la url

    28 de septiembre de 2007 14:47, por Rainer

    Hola,

    estoy intentando integrar tu script en un nueva pagina pero no lo he conseguido, ya que me dobla el nombre del sitio, i.e: /protection-international/protection-international/spip.php?var_mode=calcul&idioma=es&lang=es

    Estoy con spip 1.9.2c y tengo activado el $forcer_lang=true; (no parece estar relacionado, lo intenté con y sin el $forcer_lang=true;)

    Una ideá?

    Gracias Rainer

    Responder este mensaje

    Volver al inicio del foro

  • Seleccionar idioma por cookie, navegador y/o menú

    24 de enero de 2006 09:12, por jaristote

    Hola Falta precisar la orden de seleccion de los idiomas. Si llegas con un navegador en fr tienes el menu en fr pero si vas a leer un articulo en es el menu pasa en es. Il faudrait préciser l’ordre de sélection des langues : langue de navigation, langue du site, langue des articles ..

    Responder este mensaje

    • Seleccionar idioma por cookie, navegador y/o menú 25 de enero de 2006 00:55, por joseluis

      ¿? No lo entiendo. En las pruebas que he hecho en pyrene.info, cuando has seleccionado un idioma no cambia aunque el artículo en el que entres esté en otro idioma. O sea, está priorizado el idioma del entorno sobre el del contenido y sólo se cambia el del entorno cuando se selecciona de propio ¿no?

      Lo que si quería mejorar era lo de la comprobación de la activación de las cookies porque no me convence mucho el sistema, pero no tengo tiempo de proponer otro.

      Responder este mensaje

    Volver al inicio del foro



Seguir la vida del sitio RSS 2.0 | Mapa del sitio | Espacio privado | Charte et vie SPIP-Contrib | SPIP | L'autre.net