If you’re still using IP geolocation to decide what language to show, stop screwing around. It’s a broken assumption dressed up as a feature. IP tells you where the request comes from, that’s it. It doesn’t tell you what language the user wants, speaks, or even understands. It fails all the time — VPNs, travel, people living abroad, countries with multiple official languages. This isn’t cleverness, it gives outright annoyance. There’s no 1:1 mapping. Belgium has three official languages, Switzerland has four, India has 22, Canada is officially bilingual and unofficially multilingual. Users could live in these places, travel through them, or have nothing to do with them besides routing traffic through there. So what are you doing forcing the UI into one language just because some geo-IP database told you what country the IP’s from? You’re making assumptions on bad data, that’s not clever engineering, that’s laziness pretending to be UX. No, “but the big websites do it” doesn’t make it right. You’re not a cargo cult. Do it right or don’t do it at all. Personally, I’m an active user of VPN, and every time I go to Google with an enabled VPN, I can’t understand anything since there is a random language used, just because of IP rotation by my VPN provider. Every browser sends an Accept-Language header. It tells you what language the user prefers, not based on location, not based on IP, based on their OS or browser config. And yes, users can tweak it if they care enough. It looks like this: Accept-Language: en-US,en;q=0.9,de;q=0.8 That’s your signal, use it. It’s accurate, it’s free, it’s already there, no licensing, no guesswork, no maintenance. You don’t override screen resolution or color scheme with your own guess — so why do it with language? You serve English to a French user in Germany, you give Dutch to someone in Brussels who reads French, you give Chinese to someone using a Hong Kong VPN who doesn’t speak a word of it. Users get annoyed, some leave, some dig thro...
First seen: 2025-05-19 10:54
Last seen: 2025-05-19 16:55