Foros del Web » Programando para Internet » PHP »

ayuda (HTTP_ACCEPT_LANGUAGE)

Estas en el tema de ayuda (HTTP_ACCEPT_LANGUAGE) en el foro de PHP en Foros del Web. Hola quisiera preguntarles algo muy simple..... vi las faqs de este foro y me llamo mucho la atencion el tema de el cambio automatico de ...
  #1 (permalink)  
Antiguo 10/01/2004, 22:12
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 6 meses
Puntos: 16
ayuda (HTTP_ACCEPT_LANGUAGE)

Hola quisiera preguntarles algo muy simple..... vi las faqs de este foro y me llamo mucho la atencion el tema de el cambio automatico de idiomas segun el navegador.....

mi pregunta es si es que este cambio de idioma es bueno o es muy pobre (en cuanto a estructura de las oraciones o palabras)

aqui esta el tema que vi:

------------------------------------------------------------------------------------


Tema: Reconocer características del visitante

Pregunta: Tengo una web en varios idiomas, ¿Cómo puedo mostrar a mis visitantes la que más se ajuste a sus preferencias?

Respuesta:

Usando la cabecera HTTP_ACCEPT_LANGUAGE que nos enviará su navegador al pedirnos que le mostremos la web.

Para leer correctamente esa cabecera y no quedarnos sólo con el primer valor que contenga, usaremos el siguiente script:


--------------------------------------------------------------------------------

Código PHP:
if ($HTTP_ACCEPT_LANGUAGE != ''){ # Verificamos que el visitante haya designado algún idioma
    
$idiomes explode(","$HTTP_ACCEPT_LANGUAGE); # Convertimos HTTP_ACCEPT_LANGUAGE en array
    /* Recorremos el array hasta que encontramos un idioma del visitante que coincida con los idiomas
    en que está disponible nuestra web */
    
for ($i=0$i<count($idiomes); $i++){
        if (!isset(
$idioma)){
            if (
substr($idiomes[$i], 02) == "ca"){$idioma "ca";}
            if (
substr($idiomes[$i], 02) == "es"){$idioma "es";}
            if (
substr($idiomes[$i], 02) == "en"){$idioma "en";}
            if (
substr($idiomes[$i], 02) == "fr"){$idioma "fr";}
        }
    }
}

# Si no hemos encontrado ningún idioma que nos convenga, mostramos la web en el idioma por defecto
if (!isset($idioma)){$idioma "ca";} 
--------------------------------------------------------------------------------





solo por casualidad alguien tendrá algun ejemplo de esto para poder ver como funciona


Muchas Gracias .
Pablo Araya.-
__________________
Adios ...!!!!
  #2 (permalink)  
Antiguo 11/01/2004, 13:38
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

Este codigo no traduce el contenido de tu web. Lo unico que hace es averiguar cual es el idioma configurado en el navegador del visitante, y guardar ese valor en una variable.

Luego tu en funcion de esa variable tienes que mostrar la web en un idioma u otro. Las traducciones las tienes que hacer tu. Por ejemplo:
Código PHP:
if ($HTTP_ACCEPT_LANGUAGE != ''){ # Verificamos que el visitante haya designado algún idioma

    
$idiomes explode(","$HTTP_ACCEPT_LANGUAGE); # Convertimos HTTP_ACCEPT_LANGUAGE en array

    /* Recorremos el array hasta que encontramos un idioma del visitante que coincida con los idiomas

    en que está disponible nuestra web */

    
for ($i=0$i<count($idiomes); $i++){

        if (!isset(
$idioma)){

            if (
substr($idiomes[$i], 02) == "ca"){$idioma "ca";}

            if (
substr($idiomes[$i], 02) == "es"){$idioma "es";}

            if (
substr($idiomes[$i], 02) == "en"){$idioma "en";}

            if (
substr($idiomes[$i], 02) == "fr"){$idioma "fr";}

        }

    }

}



# Si no hemos encontrado ningún idioma que nos convenga, mostramos la web en el idioma por defecto

if (!isset($idioma)){$idioma "ca";}

switch (
$idioma) {
case 
'es':
  echo 
"hola";
  break;
case 
'en':
  echo 
"hello";
  break;
default:
  echo 
"Y yo que se";
  break;

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 11/01/2004, 22:07
Avatar de BLAH !!  
Fecha de Ingreso: septiembre-2003
Ubicación: Región Metropolitana, Santiago, Chile
Mensajes: 706
Antigüedad: 20 años, 6 meses
Puntos: 16
ahh !!! ok
Gracias ;)
__________________
Adios ...!!!!
  #4 (permalink)  
Antiguo 11/06/2009, 04:16
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta ayuda (HTTP_ACCEPT_LANGUAGE)

No me funciona el codigo ni $HTTP_ACCEPT_LANGUAGE tiene ningun valor al hacer un print_r($idiomes)... Mi navegador esta en castellano, aunque no recuerdo haberlo configurado para ello. Imagino que no debe hacer falta configurar nada si ya aparece en un idioma...
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 19:09.