Bueno segun me parece, este script es una funcion o deberia ser una funcion, ya que die() finaliza el script que se esta ejecutando.
Por lo general,la funcion die() es muy poco usadada para enviar mensajes y tratar contenidos de $_POST,$_GET y $_COOKIE (Probablemente aqui este el error). Y se utiliza solo para enviar o regresar errores de consulta o de conexion a base de datos.
Existen muchas formas de regresar mensajes, ya sea simplemente con un echo() o imprimir un return() de una funcion.
Aqui defino los parentesis en forma correcta para el condicional terciario, y segun lo que veo la variable $_GET['lang'], pasa directo, si esta definida, cosa que me extraña, ya que primero deberias establecer que si existe, empezar a procesar la variable para dar un resultado. Si simplemente es una prueba, para ver que te regresa tu navegador, pues ni idea de lo que intentas.
Código PHP:
<?
$lang = (isset($_GET['lang'])) ? $_GET['lang'] :
(!empty($_COOKIE['sLANG'])) ? $_COOKIE['sLANG'] :
(!empty($SETTINGS['SITELANG'])) ? $SETTINGS['SITELANG'] : 'sp')));
die($lang);Esta funcion procesa los contenidos de $_GET,$_COOKIE,$SETTINGS. Que resultado regresa $SETTINGS...
?>
Existen funciones en php, que te dicen que lenguaje esta utilizando el usuario en su explorador.
$_SERVER['HTTP_ACCEPT_LANGUAGE']// por ejemplo esta...
Como no se si destruyes tus cookies o si finalisas o destruyes la variable $SETTINGS, es muy dificil saber por que te regresa ese resultado.
Podria ser que hasta el charset=iso de tu pagina no esta bien definido o falta, o tu navegador no esta bien configurado, etc.
Saludos