Foros del Web » Programando para Internet » PHP »

controlar el idioma

Estas en el tema de controlar el idioma en el foro de PHP en Foros del Web. Hola a tod@s: quiero hacer una aplicacion que en la primera pantalla se seleccione el idioma, he pensado meter en una cookie el idioma seleccionado ...
  #1 (permalink)  
Antiguo 27/01/2004, 06:24
 
Fecha de Ingreso: diciembre-2003
Mensajes: 2
Antigüedad: 20 años, 3 meses
Puntos: 0
controlar el idioma

Hola a tod@s: quiero hacer una aplicacion que en la primera pantalla se seleccione el idioma, he pensado meter en una cookie el idioma seleccionado y luego verificarla en cada pagina... alguna otra solucion?

Gracias,
  #2 (permalink)  
Antiguo 27/01/2004, 08:57
Avatar de oktubre  
Fecha de Ingreso: agosto-2003
Ubicación: en mi casa
Mensajes: 371
Antigüedad: 20 años, 7 meses
Puntos: 4
y..., yo lo aria con cookies, depsues solo escribis un archivo.inc.php por idioma, seria un poquitin lento tal vez, pero estaria
__________________
w32.oktubre@mm <----------------<<<<
prefiero cerrar la boca y parecer un tonto que abrirla y confirmarlo.
  #3 (permalink)  
Antiguo 27/01/2004, 10:53
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 20 años, 6 meses
Puntos: 13
Con:

$_SERVER['HTTP_ACCEPT_LANGUAGE']

te daría el idioma del visitante, por ejemplo 'es' para español (esta cabecera es pasada por el navegador, por lo q si esta mal configurado, en otro idioma o simplemente no la envia, no funcionara).

Lo podrías usar para los visitantes que se metan por primera vez y no tengan todavia la cookie
  #4 (permalink)  
Antiguo 28/01/2004, 17:24
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
$_SERVER['HTTP_ACCEPT_LANGUAGE'] sirve para saber los idiomas preferidos del usuario, pero SIEMPRE debes dejar que el usuario cambie lo que tu detectes.

HTTP_ACCEPT_LANGUAGE puede:

1) Estar vació
2) Contener un idioma
3) Contener varios idiomas

Yo lo que haría es:

Comprobar que no esté vacío:

if (!len($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { $idioma = por_defecto;}

Convertirlo en array:
else {
$idiomas_preferidos = explode(";", $_SERVER['HTTP_ACCEPT_LANGUAGE']);
}

Recorrer el array con un for () hasta que encontrara un idioma soportado por mi web. (Ten en cuenta que necesitaras hacer un substring($idiomas_preferidos[$i], 2) para obtener sólo las dos letras del idioma (es, ca, eu, gl...)
__________________
M a l d i t o F r i k i
  #5 (permalink)  
Antiguo 28/01/2004, 17:28
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Por cierto, la FAQ 17 te iría muy bien:
http://www.forosdelweb.com/showthrea...978#post255978
__________________
M a l d i t o F r i k i
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 22:02.