That said: There's a reason I am going to google.com and not google.co.jp, fucking thanks fucking good day fucking fuck.
From experience watching other people use computers, most people don't even know WTF "locale" is or anything even tangentially related. More than likely they just use whatever was configured by default, which most of the time makes sense for them but it's not a given.
Hence, it's unreliable.
IP geolocation on the other hand, you can at least assume the broad region where they are connecting from (VPNs and proxies aside).
1. I'm in (east of) France geo
2. My system is set to en_GB
Yet some websites insist in putting me in Germany. Sometimes it even changes between requests (web pages), some are extra nutty and I even get mixed content within the same page.
For the love of all that is holy, please stop being clever. UAs have had Accept-Language headers ever since RFC3282. Use that hint.
english + metric || gtfo