|
Revision 1, 1.4 KB
(checked in by anonymous, 7 years ago)
|
|
initial import
|
| Line | |
|---|
| 1 | <? |
|---|
| 2 | |
|---|
| 3 | function get_pref_language_array($str_http_languages) |
|---|
| 4 | { |
|---|
| 5 | $langs = explode(',',$str_http_languages); |
|---|
| 6 | $qcandidat = 0; |
|---|
| 7 | $nblang = count($langs); |
|---|
| 8 | |
|---|
| 9 | for ($i=0; $i<$nblang; $i++) |
|---|
| 10 | { |
|---|
| 11 | for ($j=0; $j<count($langs); $j++) { |
|---|
| 12 | $lang = trim($langs[$j]); |
|---|
| 13 | |
|---|
| 14 | |
|---|
| 15 | if (!strstr($lang, ';') && $qcandidat != 1) { |
|---|
| 16 | |
|---|
| 17 | $candidat = $lang; |
|---|
| 18 | $qcandidat = 1; |
|---|
| 19 | $indicecandidat = $j; |
|---|
| 20 | } |
|---|
| 21 | else { |
|---|
| 22 | |
|---|
| 23 | $q = ereg_replace('.*;q=(.*)', '\\1', $lang); |
|---|
| 24 | |
|---|
| 25 | if ($q > $qcandidat) { |
|---|
| 26 | $candidat = ereg_replace('(.*);.*', '\\1', $lang); ; |
|---|
| 27 | $qcandidat = $q; |
|---|
| 28 | $indicecandidat = $j; |
|---|
| 29 | } |
|---|
| 30 | } |
|---|
| 31 | } |
|---|
| 32 | |
|---|
| 33 | $resultat[$i] = $candidat; |
|---|
| 34 | |
|---|
| 35 | $qcandidat=0; |
|---|
| 36 | |
|---|
| 37 | unset($langs[$indicecandidat]); |
|---|
| 38 | $langs = array_values($langs); |
|---|
| 39 | } |
|---|
| 40 | return $resultat; |
|---|
| 41 | } |
|---|
| 42 | |
|---|
| 43 | |
|---|
| 44 | if($_SERVER["HTTP_ACCEPT_LANGUAGE"]) |
|---|
| 45 | { |
|---|
| 46 | $accepted_language = get_pref_language_array($_SERVER["HTTP_ACCEPT_LANGUAGE"]); |
|---|
| 47 | list($lang) = split('-',$accepted_language[0]); |
|---|
| 48 | } |
|---|
| 49 | |
|---|
| 50 | if($lang != 'fr_FR' && |
|---|
| 51 | $lang != 'de_DE' && |
|---|
| 52 | $lang != 'es_ES' && |
|---|
| 53 | $lang != 'en_EN') |
|---|
| 54 | $lang = 'fr_FR'; |
|---|
| 55 | |
|---|
| 56 | header('Location: /'.$lang.'/PagePrincipale'); |
|---|
| 57 | ?> |
|---|