Har skrevet en lille kode og testet den i den nyeste IE, FF og chrome. Ved ikke om man kan stole på at den virker for ældre versioner, men har prøvet at fange det første sprog der står i HTTP_ACCEPT_LANGUAGE-variablen.
- <?php
- $find_lang=array("da", "se", "de", "en");
-
- echo $_SERVER['HTTP_ACCEPT_LANGUAGE']."<br><hr>";
-
- $accept_lang=str_replace(";", ",", $_SERVER['HTTP_ACCEPT_LANGUAGE']);
- $accept_lang=str_replace("-", ",", $accept_lang);
-
- if(strpos($accept_lang, ',') !== false) {
- $langs=explode(',', $accept_lang);
- }
- else{
- $langs=array($accept_lang);
- }
-
- foreach($langs as $lang){
- if(in_array($lang, $find_lang)) {
- echo $lang;
- break;
- }
- }
-
- ?>
og tak for tippet Frank Jensen - har tidligere gjort dette vha. IP. Det var mildest talt besværligt.. for ikke at nævne ressourcekrævende.
EDIT: Du må selv lige få den til at vælge et standard sprog, hvis den ikke finder nogen af de andre. Desuden har jeg ikke tjekket om de sprog du nævner rent faktisk repræsenteres sådan.
Indlæg senest redigeret d. 09.06.2011 19:53 af Bruger #11056