[PHP/Algemeen] Weer te geven taal voor bezoeker

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zou graag willen weten op welke manier ik erachter kan komen welke taal ik de bezoeker van een site voor kan schotelen.

Op welke manier wordt dit 'normaal gesproken' gedaan. door de taal van de browser te gebruiken, of door een soort van geo-script, die het ipadres daarvoor neemt?

Heeft iemand er ervaring mee, en kan iemand me hierin adviseren?

Acties:
  • 0 Henk 'm!

  • Cyphax
  • Registratie: November 2000
  • Nu online

Cyphax

Moderator LNX
Google doet het bijvoorbeeld aan de hand van je ip, je kunt daarvoor hele ranges gebruiken.
Je kunt wel de taal van de browser gebruiken maar dat is niet bepaald waterdicht. Ik heb een Engelse versie van Windows maar ben Nederlander.
Het lijkt me sowieso niet waterdicht te maken, zelfs met ip-ranges niet, dus ik zou zorgen dat je een gok maakt aan de hand van 1 van de manieren en dan toch duidelijk een linkje naar een anderstalige versie erbij zet.

Saved by the buoyancy of citrus


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het is inderdaad de bedoeling de bezoeker de keuze te laten om de taal te wijzigen, maar omdat we nogal met 'digibeten' te maken hebben, wil ik de eerste keuze voor ze maken.

Acties:
  • 0 Henk 'm!

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 17:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Aangezien het digibeten zijn, zou ik er vanuitgaan dat de headers die de browser meestuurt correct zijn :) Zouden digibeten immers niet verdwaald raken binnen buitenlandse app-menu's, die ze maar half begrijpen?

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

ja, doe voor de gein eens een print_r($_SERVER), dan zie je welke taalinstelling je browser op dat moment heeft ['ACCEPT_LANG'] ofzoiets. aan de hand daarvan kun je de taal bepalen.

Acties:
  • 0 Henk 'm!

  • Kix@$$
  • Registratie: December 2001
  • Laatst online: 17:42
Dan zou ik het idd doen met wat de browser je als taal meegeeft. Dit kun je zien aan de HTTP_ACCEPT_LANGUAGE die de browser meestuurd.

Let wel op dat gebruikers altijd een andere taal kunnen kiezen en dat je deze keuze in het engels houd, zodat als een duitser een nederlandse site krijgt, hij nog steeds snapt waar je de taal kan wijzigen.

Wat je ook kunt doen is op IP basis en op browser basis, als de combinatie gelijk is laat je die taal zien en anders ga je terug naar de "default" taal van de website.

[ Voor 32% gewijzigd door Kix@$$ op 13-01-2005 22:17 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
OK, als ik het goed begrijp is er dus niet een bepaalde 'standaard' voor om de taal te bepalen.
Ik ga er dan ook maar voor om de taal uit de browser te plukken (geloof inderdaad iets van $_SERVER['ACCEPT_LANG']) maar daar kom ik wel uit.

Bedankt in ieder geval voor de reacties en de moeite.

Thnx ;)

edit:

Ik heb scripts gezien (IP2NATION geloof ik) die aan de hand van het ip de taal probeert te achterhalen.. maar dan hou ik het wel bij de browser ;) iets eenvoudiger

[ Voor 26% gewijzigd door Verwijderd op 13-01-2005 22:19 ]


Acties:
  • 0 Henk 'm!

  • enveekaa
  • Registratie: September 2003
  • Laatst online: 06:09
Of een combinatie? en als de taal van het ip verschilt met die van de browser de gebruiker een keuze stellen? of is dit te omslachtig?

Acties:
  • 0 Henk 'm!

  • iH8
  • Registratie: December 2001
  • Laatst online: 17-06-2024

iH8

enveekaa schreef op donderdag 13 januari 2005 @ 22:22:
Of een combinatie? en als de taal van het ip verschilt met die van de browser de gebruiker een keuze stellen? of is dit te omslachtig?
daar ben ik ook voor... te omslachtig? wat is omslachtig. gebruiksgemak voorop tegenwoordig als je praat over commercieële sites. ik gebruik zelf per default de tld's; .nl .be .de etc. behalve als het een .com, .net ofzo is, dan gebruik ik de accept_lang en dan alsnog de gebruiker de mogelijkheid bieden om te wijzigen. zo'n functie is een kleine moeite en wel zo netjes.

Aunt bunny is coming to get me!


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

enveekaa schreef op donderdag 13 januari 2005 @ 22:22:
Of een combinatie? en als de taal van het ip verschilt met die van de browser de gebruiker een keuze stellen? of is dit te omslachtig?
Ik zou het omslachtig vinden. Als ik een Franse browser gebruik, dan mag je gerust aannemen dat ik Frans als favoriete taal heb. Dat ik dan toevallig in Nederland woon, doet niet ter zake. Mensen willen als ze websites bezoeken niet eerst van alles configureren, dit soort spul moet zoveel mogelijk automatisch gaan. Geen probleem als er een foute keuze gemaakt wordt; dan kan er altijd nog een andere taal gekozen worden. Intussen heb je wel in 90% van de gevallen de goede taal, zonder dat je gebruiker daar iets voor hoeft aan te klikken. En dat browst toch wel net even iets fijner. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Accept language is een lijstje die de gebruiker zelf instelt (/kan stelen). Het lijkt me daarom ook dat je daar altijd van uit kan gaan. Ik zou me sowieso niet bezig gaan houden met op ip gebaseerde lokaties. Dat ik in nederland woon wil absoluut nog niet betekenen dat ik mijn pagina's in het nederlands wil zien toch? Voor hetzelfde geld ben ik hier met mijn laptop op vakantie en heb in mijn hotel ingebeld.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • enveekaa
  • Registratie: September 2003
  • Laatst online: 06:09
@-NMe-
Tsja, F0rans ok, maar Engels is dan toch wat moeilijker, kun je ook weer een bepaalde selectie voor maken.
Als iemand met een browser in het Swahidie zit te browsen vanaf een Nederlands ip dan zal die waarschijnlijk de site in een het Swahidie willen inderdaad.
De vraag is, in welke talen is de website beschikbaar en van welke client-side informatie gaan we de taal bepalen..

@Janoz: het is toch aannemelijker dat je met een Nederlands ip gewoon de site in het Nederlands wilt ipv dat je iemand bent die toevallig op vakantie is.
Bovendien kun je altijd nog eerst controleren wat de accept language is. Klopt het dan nog niet? dan kan de gebruiker zijn taal handmatig veranderen.

Vandaar deze constructie; verschilt het ip nummer van de accept language? dan de gebruiker de taal zelf laten aangeven... als het ip nummer en de accept language overeenkomen kun je er toch wel vanuit gaan dat diegene ook de taal spreekt.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als ik een browser in een bepaalde taal heb ingesteld, dan kan ik die taal ook lezen. Dan kun je heel veilig aannemen dat je de site in die taal weer kan geven, en dan heb je in 90% van de gevallen de goeie taal te pakken, zonder lekker ingewikkeld naar IP-adressen te gaan zitten kijken. Buiten het "vakantie" voorbeeld van Janoz noem ik bijvoorbeeld allochtonen, die graag browsen in hun moedertaal. Niets mis mee, maar jij stelt ze dan voor een irritante keuze.

Nogmaals, ik zou gewoon HTTP_ACCEPT_LANGUAGE als taal kiezen, en de gebruiker de mogelijkheid bieden op de site om daartussen te switchen.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Ik wil niet eens een scherm met taalkeuze voor mijn neus krijgen. Natuurlijk wel ergens op de pgaine iets van een taalswitch, maar niet geforceerd erlangs, en bij zogenaamd zeker weten de switch maar niet laten zien.

Sowieso maak je het jezelf nodeloos ingewikkeld met het ipnummer opzoeken.. Wat dacht je van proxies, of wereldwijde providers (vodafone)?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

IP-to-Country van Directi werkt best aardig voor zover ik weet. PHP.net maakt hier zelf ook gebruik van.

Demo:
http://ip-to-country.webh...cfe009e522ebc09ce51607de6

Acties:
  • 0 Henk 'm!

  • Onno
  • Registratie: Juni 1999
  • Niet online
Kijken naar ip's is leuk als je automatisch de dichtstbijzijnde mirror wilt voorschotelen, oid. Maar voor taalkeuze is het, zoals al gezegd is, op z'n minst onhandig. Mensen kiezen niet voor niets voor een bepaalde taal, ook al komt die niet overeen met het land waarin ze wonen. Als ik mijn browser op Chinees instel verwacht ik ook dat een site, als die aan automatische taalselectie doet en Chinees kent, mij de Chinese versie geeft. Of ik nou in Nederland, China, of ergens daar tussenin zit. Dat is namelijk precies waar die instelling voor is.

Acties:
  • 0 Henk 'm!

  • pachacuti
  • Registratie: Januari 2002
  • Laatst online: 14-09 12:40
Kan je niet werken met cookies?
De eerste maal dat iemand de site bezoekt vraag je naar de taal, je slaat deze op in een cookie en als de gebruiker de volgende keer terugkomt lees je die cookie uit en je hebt de taal.

Acties:
  • 0 Henk 'm!

  • Anders
  • Registratie: December 2000
  • Laatst online: 13-09 18:52
Cyphax schreef op donderdag 13 januari 2005 @ 22:06:
Google doet het bijvoorbeeld aan de hand van je ip, je kunt daarvoor hele ranges gebruiken.
Je kunt wel de taal van de browser gebruiken maar dat is niet bepaald waterdicht. Ik heb een Engelse versie van Windows maar ben Nederlander.
En het leuke is... dat heeft helemaal niks met de taal van je OS te maken. Bij het installeren van het OS word je namelijk gevraagd naar de locatie waarin je je als gebruiker bevindt, alsmede naar je taal-instellingen.

Naar mijn ervaring is de http_accept_language zeer betrouwbaar. Ik heb voor de site van een nationale food-fabrikant (> 100.000 bezoekers per maand) bijgehouden wat de ingestelde taal van de bezoeker was. De site draaite in Nederland en België, maar de fabrikant was/is België aanmerkelijk minder prominent aanwezig op de markt. De cijfers:

Nederlands: 92% (waarvan 19% Vlaams (be-ne))
Frans: 3% (waarvan 2% Waals (be-fr))
Engels: 5%
(Overige talen zijn te verwaarlozen.)

Nauwelijks "Engelstalige" instellingen dus.

Naar mijn mening kun je dus rustig een keuze maken in de aangeboden taal op basis van de http_accept_language. Mits je maar een makkelijke switch naar een andere taal mogelijk maakt, bij voorkeur het gemakkelijks naar het meest waarschijnlijke alternatief.

IP-ranges zeggen wel wat, maar niet alles, zeker niet nu in alle landen steeds meer mensen van buitenlandse origine wonen. Je kunt aan een IP-adres nooit aflezen wat de voorkeurstaal is van degene die er achter zit.

Zie ook De Grote IP-Atlas en met name de discussie onderaan.

[ Voor 5% gewijzigd door Anders op 14-01-2005 17:10 ]

Ik spoor veilig of ik spoor niet.

Pagina: 1