Foros del Web » Programando para Internet » PHP »

Deteptar idioma del visitante.

Estas en el tema de Deteptar idioma del visitante. en el foro de PHP en Foros del Web. Buenas tardes, estoy creando un sitio multilenguaje y quiero incorporar un codigo que detepte el idioma del visitante y muestra la página en dicho idioma ...
  #1 (permalink)  
Antiguo 27/12/2008, 15:03
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 6 meses
Puntos: 188
Deteptar idioma del visitante.

Buenas tardes, estoy creando un sitio multilenguaje y quiero incorporar un codigo que detepte el idioma del visitante y muestra la página en dicho idioma automaticamente.

Buscando en las Faqs encontre esto:
http://www.forosdelweb.com/f18/faqs-php-530600/#post255978

Pero tengo una duda como incorporo ese código con los valores que estoy usando en mi sitio

Pequeño ejemplo de la estructura de mi sitio y de los nombres de las variables que estoy usando:

index.php

Código PHP:
<?php 
include('includes/config.php');
$lang$_GET['lang']? $_GET['lang'] : $lang;
include(
'language/'.$lang.'.php');
?>
<html>
<head>
<title> <?php echo $_lang['title'];?> </title>
</head>
<body>
<a href="algunlink.php?lang=<?php echo $_GET['lang'];?>"><?php echo $_lang['clickhere'] ;?></a>
</body>
</html>

includes/config.php

Código PHP:
$lang 'en'#para establecer el idioma ingles por defecto suponiendo que el archivo se llama en.php 
language/en.php

Código PHP:
$_lang['title'] = 'My title in english';
$_lang['clickhere'] = 'Click here'
language/es.php

Código PHP:
$_lang['title'] = 'Mi titulo en español';
$_lang['clickhere'] = 'Click Aqui'
Ahora mi pregunta es como puedo útilizar ( por ejemplo el código siguiente ) y que funcione para mi sitio:

http://www.forosdelweb.com/f18/faqs-php-530600/#post255978
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";} 
Muchas gracias.
  #2 (permalink)  
Antiguo 27/12/2008, 15:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Deteptar idioma del visitante.

Código PHP:
<?php 
include('includes/config.php');
// Agrega esta linea:
$lang substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 02);
$lang$_GET['lang']? $_GET['lang'] : $lang;
// Aqui verifica si existe el idioma seleccionado, si no, pon el que usas por default
include('language/'.$lang.'.php');
?>
<html>
<head>
<title> <?php echo $_lang['title'];?> </title>
</head>
<body>
<a href="algunlink.php?lang=<?php echo $_GET['lang'];?>"><?php echo $_lang['clickhere'] ;?></a>
</body>
</html>
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 27/12/2008, 16:49
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 6 meses
Puntos: 188
Respuesta: Deteptar idioma del visitante.

gracias amigo.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:29.