Böyle yaparsan 10 günlük bir veri atarsın kullanıcının tarayıcısına. 10 gün sonra çerez süresi biter ve yeniden dil yönlendirmesi yapar. 10 gün ise +604800 kısmını ifade eder. 30 gün yapmak istersen bu sayıyı 3 le çarp ve aşağıda ki 2 satırda ki sayıyla bunu değiştir.

Kodları denemedim, sorun olursa buraya yazarsın tekrar.

$dil = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
$dil_cookie = @$_COOKIE['dil'];

if( $dil_cookie == NULL ) {
if ($dil == 'tr') {
setcookie('dil','tr', +604800);
echo '<script>window.location.href ="index.php";</script>';
} else {
setcookie('dil','en', +604800);
echo '<script>window.location.href ="en/";</script>';
}
}
?>