Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[PHP] Het ontleden van HTTP_ACCEPT_LANGUAGE

WimB
6 antwoorden
  • 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
  • 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
  • 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
  • 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
  • RFC 2616 punt 14.4
  • 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

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.