Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I have told the story here before, but I built a neat little system to parse Accept-Language weighing the users priorities and using the closest thing we have on offer to the users preferences. As an example, we have a Brazilian Portuguese translation but not Portugal Portuguese, so we would offer the prior to users requesting the latter for instance unless they had a lower priority but more exact match.

From my technical standpoint it worked really well and the code was very slick. It was a lot of fun to build.

From a user standpoint most of our users really just wanted English regardless of their Accept-Language header. They had the option to change it in the footer but this apparently wasn't obvious enough.

We just ask now, and our users are happier.



You ask, as in, whenever I visit the site without having your cookies stored, I'll get a language selector wall first?

I run into those regularly and it's always a struggle to know how to stay on the damn page I clicked on: will the "continue" button use the preselected value or will it dismiss the pop-up and continue on the current page?If the former, is the preselected value the page I'm on or a different language? Can I guess which locale I'm on to select that and dismiss the pop-up then? Can I inspect-element→delete this modal and just sidestep the whole problem? Even just a small close button is a luxury on these language walls...

95 out of 100 times, I'm fine with whatever language I clicked on, and if I want your German version for locale-adjusted shipping info or payment options or whatnot, I'll look for a language selector on the top right or, alternatively, in the page footer. If it's in one of those two places, I'd be much happier about a web without JavaScript-based pop-ups constantly


We're a paid SaaS so I don't think it's as much of an annoyance to be asked once per browser.

It's just a separate page you hit after signing in if we don't have your preference. You click on the language you want and you are redirected to the dashboard.

The option to change it still exists in the footer.


Okay, must say that does sound like a very acceptable flow. You'll have the user logged in at that point so can store it and never need to ask again. Was expecting you built this for regular websites, my bad!


Yes! I still want to default to accept-language, but asking is key. What is your pattern for giving the user an option? I like this article in that it rejects icons, but I don’t like how they arrive at one language for multiple regions https://usersnap.com/blog/design-language-switch/


We literally just have a box that pops up with "<language> (<region>)" in each of the native languages. It gets saved to a long lived cookie rather than the user's account for some business reasons.


I expect many people will have it set to their OS default, and they are just accustomed to it, and don't know how to change it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: