Ga naar inhoud

[PHP] Het ontleden van HTTP_ACCEPT_LANGUAGE


anoniem

Aanbevolen berichten

LS, Ik ben bezig met het maken van een tweetalige site. De taal wordt op de indexpagina bepaald door de gebruikersinstellingen op te vragen - [i:1f98c728c6]$_SERVER["HTTP_ACCEPT_LANGUAGE"][/i:1f98c728c6] - en de taalvoorkeur eruit te filteren. Nu kan dit op een makkelijke en een moeilijke manier. De makkelijke manier is gebaseerd op een aanname, kan iemand deze voor mij bevestigen? Vooralsnog lijkt het erop dat de taalvoorkeur links altijd de hoogste prioriteit heeft, naarmate men meer naar rechts gaat neemt de prioriteit dus af. Als dit waar is, kan ik gewoon van links naar recht door een array itereren en kijken welke van de talen Engels of Nederlands eerder voorkomt. Dus mijn vraag (na mijn veel te ingewikkelde intro): is HTTP_ACCEPT_LANGUAGE [b:1f98c728c6]altijd[/b:1f98c728c6] op volgorde van prioriteit, beginnende bij de belangrijkste? - Bas
Link naar reactie
Geen antwoord op jouw vraag, maar ik zit mij er nog steeds aan te ergeren als ik als Nederlander met een Franstalige browser een site in het Engels wil lezen. Van mij hoeft zo’n automatische detectie niet. In combinatie met een handmatige selectie en nog een cookie kan het misschien wel iets moois worden. Hier is een link naar een site die zoiets heeft: http://www.kull.ch/Bauersachs/langdetinfo_e.asp Met code in asp. In Zwitserland zijn de meeste sites minimaal tweetalig, heel vaak drie. Het kiezen gaat gewoon met een muisklik. wimb
Link naar reactie
Het is ook alleen maar op de indexpagina, dus als je naar http://www.eenwillekeurigenaam.nl/ gaat. Je wordt dan geforward naar http://www.eenwillekeurigenaam.nl/nl/ danwel http://www.eenwillekeurigenaam.nl/en/ aangezien daar de werkelijke site staat. Eenmaal op één van die adressen is een automatsche taalcontrole niet van pas, dan staat er hooguit een link naar de alternatieve taal. - Bas
Link naar reactie
Ik heb net even zitten spelen met mijn browser instellingen op taalgebeid (IE6) en daarna gekeken wat de volgorde was in $_SERVER["HTTP_ACCEPT_LANGUAGE"] en dat was dezelfde volgorde. Ik zou dus zeggen: ja, het lijkt erop dat het altijd op volgorde is waarbij diegene met de meeste prioriteit eerst komt. In ieder geval onder IE6 dus. heb geen andere browsers om het te testen ( :oops: ), maar zou niet weten waarom het daarbij ook niet zo zou zijn.. Robert
Link naar reactie
Annie, bedankt, maar dat had ik al gelezen. Ik snap ook de werking van [b:d4b74823ff]q[/b:d4b74823ff] maar wat het stuk niet behandelt is de volgorde van prioriteit binnen de string. Dat zou het geheel voor mij namelijk een stuk makkelijker maken. Ik ben dan ook op zoek naar bevestiging of ontkenning van mijn vermoeden dat links altijd de hoogste prioriteit heeft, al dan niet uit ervaring. - Bas
Link naar reactie
Het lijkt erop dat de volgorde bepalend is voor de taal. Ik heb in mijn browser instellingen gekeken en alles stond opUS english. (geen Frans) hier zijn een paar stukjes uit de help files: [b:af99932a8e]Microsoft IE[/b:af99932a8e] Si vous parlez plusieurs langues, vous pouvez les classer par ordre de priorité. Si un site Web propose plusieurs langues, il affichera les informations dans la langue à laquelle vous avez affecté la priorité la plus élevée. [b:af99932a8e]Mozilla[/b:af99932a8e] Move Up / Move Down: Click one of these buttons to move a selected language up or down, which sets the order of preference for the listed languages. [b:af99932a8e]Opera[/b:af99932a8e] Some international Web sites support more than one language. Opera can communicate with such sites and ask for pages in languages you have specified. If your first choice is not available, Opera will ask for the next language on your list. Die zeggen dus allemaal hetzelfde. Daarom kun je de volgorde veranderen. links: http://ppewww.ph.gla.ac.uk/~flavell/www/lang-neg.html http://www.bowiesnyder.com/writings/nls_apache.htm wimb
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...