You are reading a single comment by @bq and its replies. Click here to read the full conversation.
  • You're basically depending on the website developers to a)actually have a German language version, and b) have code to automatically detect your preferred language.

    This is hard, and even in 2020, pretty unreliable. Detecting on the server side by IP is unreliable because things like edge caches (e.g. Akamai) lie to the server about the user's origin (unless you pay a lot extra). Similarly reading accept-language headers from the request is a bit flaky because if present, they may not be accurate. On the client side, the methods to do it are split between three poorly-implemented methods which don't behave the same across browsers.

    Generally when things are this unreliable the best solution is not to implement them at all, and in the case of internationalisation, do it manually. Make the user choose and save their preference in a cookie, or local storage.

    On the websites I've built the approach as been 'top level domain < language part of URL < user cookie', so if someone goes to example.fr instead of example.com they get French instead of English, but if they then go to example.fr/en/ they get English. But if they have a cookie that says 'de' then it redirects them to example.de and that overrides everything.

About

Avatar for bq @bq started