I use a VPN on my day-to-day browsing because my country does stupid stuff like blocking Imgur, Pastebin, and historically Twitter, YouTube, and even Wikipedia.
Now, my VPN is located in Europe, specifically Germany. Which shouldn’t be an important detail to keep in mind, but it is.
Why? Because I often get sites in German, even if my browser specifically
requests English on its
Don’t think you know better than your users
If the user wants to see your site in a specific language, they will configure
their browser to ask your server for it, via the
Accept-Language header or
similar markers. Even if your users aren’t technically literate enough to fiddle
with their browser settings, most browsers can infer this from their system
language, which is generally a language the user can read and understand.
IP addresses aren’t good for geolocation
While yes, there are many IP to location databases, and many IP adresses are geographical, there are many cases where the IP address you get aren’t the IP address of the specific device your users are viewing your content on.
These cases include VPNs and NATs. For NATs, the geolocation issue isn’t that big of a deal in page languages, since most NAT IPs will be from the same country (and in many cases, ISP) the user is from.
VPNs on the other hand, can pretend to be from any country the user wishes. Most VPN providers will have multiple servers in different countries, and even a self-hosted VPN (like mine) might not be from where the user is.
Now you might think to yourself that your target audience doesn’t use any VPNs because they aren’t technically literate to use one. But let me remind you that there are VPNs that advertise to the technically illiterate, often with dubious claims to get those people to use their service. Or the fact that “target audience” doesn’t mean “everyone who will see your page”.
Don’t try to be smart
If you’re Google, then you might think you’re smart enough to overcome these issues via some random convoluted method I don’t know about. You aren’t. The only thing you will do is to give me, who prefer the internet in English, pages in Arabic, which I can’t even read.
Region isn’t preference
Also, even if you manage to find where I live and serve me a page in my native language, it doesn’t mean I want that page in my native language.
So please just obey
Accept-Language, and everything will be fine.
It’s not just language
While writing this post (specifically, adding image support into my blog’s layout), I came across one more thing.
Please don’t alter how things like dates, times, and numbers look, especially if the rest of the page is in a different locale.