Hola
Lo primero es aclarar que este valor no proporiona el idioma del SO sino del navegador.
Despues yo no me complico mucho la vida y lo hago asin
Código PHP:
<?
switch( substr( $_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2 ) ) {
case "de": header("Location: deu/"); break;
case "pt": header("Location: por/"); break;
case "es": header("Location: esp/"); break;
case "en":
default: header("Location: eng/");
}
exit();
?>