1. 103

  2. 25

    This resonates so much with me. As a researcher, I have to travel around the world (and like the author, I am in Germany), and it frustrates me to no end when websites decide that I speak German even when I explicitly set my preferred language, and hide the language switch (if one exists) at random places.

    1. 23

      I’ll see your “set the language based on my location” and raise you a “redirect me to a non-existant locale-specific URL for the page I requested, and go into a redirect loop”

      Some of Apple’s docs are horrendous for this. Most links will be to the address without locale (which I guess is the default en-US locale), but it uses my physical location (Thailand) and.. I guess maybe my browser preferences to say “oh you must want the local page, so we’ll redirect you to the en-TH version of the page… Except that doesn’t exist.

      Changing the URL to en-US usually gives a redirect loop.

      I’ve resorted to using en-AU (I am Australian, but usually the content I want isn’t any different from the US version) but I still have to change the URL manually.

      And yes, I contacted support about it. Whoever responded to me couldn’t seem to comprehend the problem, I’d imagine because they can’t reproduce it themselves, and aren’t tech savvy enough to actually understand the problem without seeing it with their own peepers.

      1. 1

        I’ve resorted to using en-AU … but I still have to change the URL manually.

        I had a similar problem, where the URL of a certain website always had parts I didn’t want and I had to delete them manually. I ended up automating it with a user script (created with Violentmonkey). I am happy with my solution and recommend implementing something similar for yourself.

        As a starting point for your user script, here are the main parts of mine. After I load a forum thread on example.com/forum/ with query parameters hilit or sid, this script redirects to a URL without them.

        // @match https://www.example.com/forum/viewtopic.php
        const currentLocation = window.location;
        const url = new URL(currentLocation.href);
        const originalSearch = url.search;
        const simplifiedSearch = url.search;
        if (simplifiedSearch !== originalSearch) {
          // in this case, the `delete` calls on `url` have mutated `url`, so its `href` is different
          window.location = url.href;

        You can try editing the above to find “en-TH” in the URL and replace it with “en-AU”. Also, user scripts run after the page finishes loading by default—if that’s the wrong time for your case, you can try adding // @run-at document-end to your metadata block.

      2. 16

        Previous story with the same gist: https://lobste.rs/s/5zli1f/ik_spreek_geen_nederlands

        The worst are those that explicitly override your user settings, such as Spotify where the account settings simply don’t give me an option to not have it in Indonesian. It’s annoying as hell.

        1. 11

          Don’t think consulting some JS variables after the page has loaded is a particularly easy way to do this. Most browsers send an “Accept-Language” HTTP header. It’s easiest just to use that (and offer a manual override).

          1. 1

            If only it worked with websites. Yes, I can configure my browser to prefer US English (en-US), English (just in general), then German (de) then any other language. And I know that you can configure Apache (which I’ve used since the mid-90s) can do that, but it does require a bit of work (both configuration and workflow).

            EDIT: the message below me (at the time) addressed IP geolocation, so I dropped that portion this this post.

          2. 9

            I wrote an application that did the right thing. It was targetted at a German audience, but as the product team (including devs) were English we wrote it in English and had translations provided to us from the German team. When you requested the SPA we negotiated using the Accept-Language header, so if you had “en-us” as a preferred language, you’d get the “en” version of the site.

            When they went to demo it in Germany and 2/5 people saw the site in English we got a message to disable the English version of the site in production. This was in a corporate setting, where the laptops were presumably setup by the company that employed them. This wasn’t the kind of corporation that allowed access to install your own software, we couldn’t even access the AWS Console due to firewalls.

            Since then I’ve been slightly more sympathetic when some site (including Google!) shows me Swedish or Indian while I curse at my computer (I’m still very angry!). I think browsers don’t make this anywhere near clear enough, it’s quite a lot of digging to change this preference in Firefox on Linux. The other side of this problem is users who are get frustrated that every website in the world seems to be in English all the time, “Isn’t it obvious?! I’m in Germany! Give me German!”.

            It would be really interesting to perform some analysis on GeoIP vs Accept-Language headers to figure out if my experience was anomalous or there’s a real problem on the web that companies are compensating for.

            1. 3

              I think if the user makes it obvious that the preferred language header has been changed – such as by using en-au or en-gb, then one should respect that setting, and show the user English. It can solve the problem with clueless users complaining about default language and for people stuck in foreign lands. I also think that browsers should query and use the language setting from the operating system itself.

              1. 3

                In my experience trying to answer business questions based on logs analysis, I’ve found that, basically, this is the kind of question the data can’t answer. Suppose you, or a market research firm you hired, had access to the entire world’s logs. Suppose you query that data and find that, say, 0.2% of all traffic has an explicit, non-English Accept-Language header which disagrees with the language that GeoIP would tell you to use.

                Is that a real problem? It’s a very small percentage, and I suspect most businesses would conclude that the data justifies their decision to keep the status quo. I would personally take the opposite view: If you consider 0.2% as a fraction of all internet traffic everywhere, it means that millions of people every single day are having this problem. I do think that the fraction is not going to be something overwhelming like 20% or anything like that, so the data on this question is never going to lead you to a clear conclusion. There will always be a debate. So I’d suggest that it doesn’t make sense to frame this as a question of what the data says.

                I’ll elaborate on my belief that even a small percentage of traffic is significant for this decision. Even if you make the assumption - which I suspect is false - that the problem is easily resolved or only a minor annoyance for all of the people hitting it… well, at some point surely anyone would have to agree that five minutes of nuisance times a million, is worth at least a couple hours of engineer time.

                There’s a possible counter-argument: That’s fine if you’re Google or Amazon or Apple, who should know better. But our website is so small, and will be used by so few people, that we don’t need to worry about it. To anyone advancing that argument, I will say: Why do you want to intentionally limit your audience? If you’re a business, you should know that a lot of people who might otherwise buy from you will look for a local place that doesn’t create this pain point for them. If you’re a non-profit, you should be trying to get your message out to the broadest possible set of people. Either way, you don’t want your belief that your site is too small, to turn into a self-fulfilling prophecy that keeps your audience small.

                As an aside, I should say that at Google, I very frequently found myself the one calling to do the responsible, inclusive thing with regard to localization among other concerns. I developed the rhetoric you see above, in part, through those conversations. Not to speak ill of anyone, but I think when you’re focused on completing a specific task that you are emotionally invested in - launching a new feature - it can be difficult to hear that there is a concern you hadn’t thought about that you need to spend time on.

                1. 3

                  I think browsers don’t make this anywhere near clear enough, it’s quite a lot of digging to change this preference in Firefox on Linux. The other side of this problem is users who are get frustrated that every website in the world seems to be in English all the time, “Isn’t it obvious?! I’m in Germany! Give me German!”.

                  This is only an issue if you’re using an OS in English, I think? I’d wager that if your OS is in English, then most of the time you’d prefer your webpages and web services in English, too (I do, anyway).

                  I agree browsers’ UI sucks on this; it’s one of the downsides of “let’s provide as few options as possible”-philosophy which seems present in all (mainstream) browsers.

                  I agree much depends on your site’s intended audience and quality of translation. For international sites and services like Spotify, Netflix, Wikipedia, etc. it makes much more sense to just look at the Accept-Language header and be done with it, whereas for very German-specific stuff like a government website looking at the location makes more sense. I think this table would make the most sense:

                                           | International site | German-specific site
                                           | ------------------ | --------------------
                  de-DE from Germany       | German             | German
                  de-DE from anywhere else | German             | German 
                  en-US from Germany       | English            | German
                  en-US from anywhere else | English            | English
                  1. 2

                    I do too and your table is fine for Germany, but I also live in a country where macOS is not translated to the language we speak (Slovenian). English is a weak signal in countries as it is effectively the default second option for a large part of the planet.

                2. 4

                  Totally. Determining a client’s location over the internet is total crap.

                  How many people either for work or personal reasons are connecting through a VPN? That’s just the start of the issues.

                  1. 3

                    For years my ISP gave me a Romanian IP even though I live in Portugal, which was extremely annoying since a bucn of sites seemed to redirect to a language I don’t even speak, or assumed I lived elsewhere (local TV sites wouldn’t let me watch the live broadcast because they only had the rights to play here and not in Romania)… They only fixed this after 3 or 4 years, it was extremely annoying.

                  2. 3

                    I am surprised to read from other comments that geolocation is in widespread use in Europe. There there are so many officially multilingual states, and even more that are unofficially multilingual. Are there a bunch of pissed off French speakers living in Flanders suffering through these website practices? Basque? Catalonia? Brittany?

                    1. 4

                      As one such pissed off person, yes.

                      The worst offender for me is Amazon prime videos: on my Android device, the OS is set to English yet the Amazon app is in German. Every single movie I’ve ever watched was in English, and there’s 0 German language content anywhere else on my device (not a language change menu).

                      But I live in Switzerland.

                      1. 3

                        As a Basque user of the internet, sadly there’s not enough Basque adoption on most places. We usually resort to either Spanish or English for most of the things we search.

                      2. 3

                        Completely agree! I run ProtonVPN pretty much at all times and they have the option to simply connect to the fastest server. Often it happens that it is from a country I don’t speak the language to so I hate when sites automatically show me that language. I understand the idea but there are better ways of doing this.

                        1. 2

                          I’m Finnish (and live in Finland), and quite often both (foreign) websites and apps assume that I’d like to see their content in Finnish. I’m fluent in Finnish, so I don’t really mind, but my wife very much minds. We’re both a part of the Swedish-speaking minority in Finland, but the difference is that I’m fluent in Finnish whereas my wife is from a region where hardly anyone speaks Finnish, so this means that a lot of websites show their content to her in a language that she doesn’t understand very well.

                          Finnish websites (at least official ones) generally have clear way of changing the language to Swedish (or at least English), but plenty of (again, foreign) sites hide the choice in a menu somewhere. I don’t know what the best solution is. Some sites give you the choice of language before doing anything else, which seems pretty good to me.

                          1. 2

                            This is particularly interesting in countries like Switzerland where there are multiple official languages. While German is the most commonly spoken, there are large populations that speak French and Italian, and a minority that speaks Romansh.

                            For the most part, Swiss website will prompt you on entry to select one of the 3 major languages, and if not they will have an easy to see language selector at the top of the page.

                            Accessing websites not based in Switzerland is a completely different ballgame though, with most defaulting to German..

                            1. 2

                              OMG PLEASE! I lived in Chile for awhile and while I speak some Spanish, I am not proficient enough to be productive on the web. I even verified that my language header was being set properly by my browser. I eventually ended up tunneling a lot of my traffic through a server in the US because web sites simply refused to respect my language preference.

                              Edit: at the time, Google was actually one of the worst offenders, though that may have changed.

                              1. 1

                                Just implemented this at work for a best effort translator. It’s seriously one line of code to grab the preferred language. Of course it’s paired with a flag based language picker… Yeah I know, but that’s what they wanted, so that’s what they got.

                                1. 1

                                  Google is one of the worst cases here. Not only because they show or rank different according to the location but also because sometimes they prefer the “local subdomain” like de.domain.org or domain.com/de. This means that it is not always the website fault but just that Google is sending you directly into the “local” version.

                                  1. 1

                                    I don’t even get why it’s still an issue at this point. For a localized website, it should be indexed in the SERPS in several languages, then when clicking on the link, the user stays on the page he landed on (he must have seen the title was in [xxx] and clicked on it knowingly).

                                    Of course, websites must provide a url per language, but it sounds like it’s so obvious that it barely needs to be mentioned.

                                    Now, for what makes sense, the website can detect preferred language/region and offer a redirect, but never harm the experience by doing it on behalf of the user.

                                    So what makes sense?

                                    • many websites have different content for different markets: Apple US won’t sell the products at the same price nor the same currency as Apple France and can’t localize every regional website to every language (Apple France is in Euro en French only).
                                    • many other websites differ only in the languages they are available in, the New York Times can offer you to display the article you are reading in your browser locale if it is available.

                                    My browser is set to have several preferred locales, yet my search engine is set to “global search”. So when looking for Apple in the search engine, I usually get Apple US, yet my most preferred browser locale is French. Now, as I am often not in the US nor in France, I want to go to the local Apple website to get information on a product I will be buying in the country I’m currently in, that’s where I type Apple España for instance.

                                    And sometimes, as it looks too expensive, I’ll be going back to Apple US, to check out the prices on that market (200USD cheaper? Then I’ll take advantage of my next trip to buy it there), does it prompt me to go to the local site? Yes. Is it annoying as I have the choice? Absolutely not.

                                    1. -10

                                      The author lives in a country where he doesn’t understand the language, and has a problem with not understanding websites? I think he needs to get out more, meet some people.

                                      1. 17

                                        The point is, it has nothing to do with the user’s current location. It’s about the user’s preference. The browser has a way to indicate the visitor’s preferred language (e.g., Accept-Language header or navigator.language constant) and the choice should be respected if possible. Relying on the geolocation does not respect that choice.

                                        I live in France and I am a French native speaker, but my browser is configured to get the “en” version if available. I have my reasons for that, and I don’t want the French version just because my IP address is French.

                                        1. 14

                                          I prefer most web services that are not based in Sweden to be presented in English, simply because they usually have machine-translated Swedish that is awful.

                                          1. 3

                                            One of my first gigs was with the team who worked on the site for Familjens Jurist. At the time, the client insisted on using Google Translate instead of conventional internationalisation.

                                            One of the pages was entitled “Få barn”, which Google decided to translate as “Few children.”


                                            1. 2

                                              Man, that’s really cheap… it’s not as if people seeking legal advice won’t notice crappy language…

                                          2. 11

                                            What a curious sentiment; in almost all locations there’s an expat community where the general language is English, and in many non-English speaking countries many locals speak English fluently enough to hold meaningful conversations. Learning a language fluently enough to actually speak it well takes over a year if you study hard at it, which is why most expats that are in a place for 1-2 years just stick to English.

                                            1. 2

                                              And then, consider the places that don’t use Latin script.

                                              Even without trying most people will learn some of the local language through immersion, and if the characters are generally pronounced the same as your native tongue/English, it’s just a matter of sounding out the word.

                                              I speak some Thai. I have zero expectation of ever (successfully) reading or writing a single word or even character in Thai script.

                                            2. 8

                                              They may have recently arrived, or knew from the start their relocation is short-term/temporary so investing in learning the language makes no point.

                                              What’s wrong with pointing out the actual clear, technical issue anyway?

                                              1. 3

                                                What is the actual, clear, technical issue? At a guess, site operators optimise to reduce customer service costs, x Germans don’t have their browsers set to German and don’t read much English, and complain when they get English prose, and x is greater than the number of countryhoppers who actually want English.

                                                1. 9

                                                  The actual issue is the Web server using geotarding instead of browser language settings, which costs are you even talking about?

                                                  EDIT: OK I would understand how you have a point if you open DW for the first time in your life. Maybe. But not the global internet corps that don’t have any support either way? Bloody Google would happily serve you the landing page in traditional Chinese when you are in .tw, even if they have two decades worth of your personal data and fresh browser cookies on the same machine you used at home.

                                                  1. 6

                                                    I’ve heard this explanation before and I don’t understand it.

                                                    If your OS/browser is set to English, how the fuck are you using it without being able to read English?

                                                    1. 4

                                                      By using a colleague’s PC. By just having factory reset the phone, and leaving it at default. A lot of people here know enough English to use a browser, even if not enough to know what [insert Fachbegriff here] is called in English.

                                                      That blog posting reminds me of a comment by James Hague years ago. From memory, “now that I’ve thought about this for a minute, let me explain what’s wrong with your code and design.” The author doesn’t even try to think about what the reasons might be that this “error” has become so common.

                                                      1. 5
                                                        • Doesn’t a browser use the OS’s configured language?

                                                        • Doesn’t resetting a phone ask you for the language to use (it does for iOS!)?

                                                        • Don’t most users setup or buy their equipment in their native language?

                                                        Geocoding is done for “whiz bang!” in my experience. It has no backing data other than a few scattered anecdotes. If it turns out the the overwhelming majority of browsers are configured correctly for language support, then the geodetection language is a misfeature by definition.

                                                        1. 1

                                                          At the job where I counted this, the number of probably misconfigured browsers outnumbered the number of probably wilfully strange language settings. Both were in the low single percentages.

                                                          (And at both jobs where I’ve done geocoding, we did it in order to offer the right things. To offer users what we would be able to sell them. (EDIT: Actually I’m not sure about that. I know that that reason was a contributing reason, but I wasn’t at the meetings where it was decided, and there may have been other reasons.))

                                                    2. 1

                                                      If you have a VPN or you are in one of the non anglophone countries, try this out: set your language to [en-gb] or [en-au] and go to google.com in a private window. What do you see?

                                                      The problem is that they cared enough for a shitty solution using an ad-hoc means but not enough for a good solution which does not seem to be any harder (I would say easier because one does not require possibly outdated geo-location databases for this).