Picking language using geolocation is kind of dumb, I hate when google does it and I have to put "&hl=en"into the URL somewhere, often twice before it'll stick.
Did everyone forget there's a standard for this? e.g. my browser sent a "Accept-Language en-US,en;q=0.5" header when it loaded this page.
It's impossible to infer the right language using geolocation information, and in many locations the chance of correctly guessing the native language of a user is extremely small.
Some services, Google for example, ignore this simple fact and as a consequence force major inferior experience and usability. Many people waste considerable amount of time to fix the issues caused by that, with varying degree of success. The solutions usually have limited lifetime, due to changes in the services. So much needless pain.
Perhaps you should travel more? Try using a browser on cloud VMs in different regions, Google, Bing and Amazon will be happy to serve you their services in the language that indeed relevant to their local employees who are busy maintaining the infrastructure running your VM.
They use IP location for that since the geolocation API requires permission. Google does ask for it on mobile for hyperlocal results but it will still localize the services using IP otherwise