We are based in New Zealand writing a web application for NZ and Australian users initially, with prospects to expand in the future.
Our application examines the Accept-Language header of the user's request, and uses this to determine their default language/culture.
After logging on, the user can select an alternative language/culture and we store that against their profile.
It's been raised as an issue to me that many of our New Zealand-based testers are hitting the site with their browser primary language/culture set to "en-US" which causes our site to output all the dates in US format, which is very confusing for them.
The current workaround is getting them to switch their browser to the correct primary language/culture, or select the correct one in their website profile after logging on to the website. Not a great user experience.
I am told that most users do not know how to fix their browser language/culture setting, or even know they have one! In New Zealand a lot of browsers still seem to default en-US, even though the users' PCs are set to the correct regional settings.
My question is - what is the best practice for handling this as a website developer?
Answer
In your particular case (where you know that the language suggested by Accept-Language is wrong), I would do the following:
- Use GeoIP data to set the defaults;
- When the GeoIP data doesn't match the Accept-Language, offer the user to preset locale to the value in Accept-Language (if it does match: great!).
Regarding offering the user to set alternative defaults: you can do that in a subtle manner. For example: Etsy does it nicely with their semi-transparent banner at the bottom of the viewport. Or check out how we solved that on our company website: www.dotblue.nl (if nl-NL is your locale, check www.dotblue.net).
Finally: make sure that your hypothesis about Accept-Language being off is actually true.
No comments:
Post a Comment