A website I maintain has two possible languages, namely Dutch (the default), or English (if the url starts with <site>/en/<page>). We've only recently implemented full-site internationalisation, so now we've run into a problem that our 404 error is still in Dutch.

This caused the web developers to have a discussion what the best strategy would be. We've come to the following options:

  • Detect the language of the user based on the URL, and display the error in that language
  • Display the Dutch message, with a link at the top to "scroll down for English version", or display the messages side-to-side
  • Display the detected language, and include a link to view the message in the other language

The problem with the first option is that this doesn't catch people going to "<site>/thispagedoesntexist", even though it is always possible for people to insert random gibberish in urls. In those cases, we don't display the correct language for English users.

The problem with the second option is that this may not look as clean as displaying a single language.

The problem with the third option is that it requires the user to waste another click on something that isn't going to lead them anywhere. It also doesn't quite feel right to me to intentionally link to a url that doesn't exist.

So what would be the best way to handle this? Perhaps somebody has a 4th option that evades all of these issues?

  • Opinion: The third option is a non-starter. Either detect the language and route appropriately, or go with bilingual error pages. I don't agree that bilingual pages "won't look as clean" as displaying a single language; to me, it shows that you were thinking about the whole site, not just the "good" content. Oct 27, 2017 at 11:53

3 Answers 3


Display the error in both languages.

This is simple, easy to implement, and clearly meets the needs of all users. The other options are all have shortcomings in terms of usability.

In my opinion, sacrificing usability in favor of "clean" design is one of the biggest design errors you can make. It's an especially bad trade-off on something like an error page.


4th option: define the language by checking what the browser language of the user is.

If the language he uses in the browser is english or anything else then dutch just set it to english, if its dutch set it to dutch.

Deliver error message accordingly.

This should solve the problem in my opinion.

  • Browser language may not be the user's preferred language. Like, what if they are using a PC at the library?
    – user31143
    Oct 27, 2017 at 12:35
  • Then they will look for a language setting in the top right corner of the website.. ? Oct 27, 2017 at 12:37
  • Why should they have to? And what if the language implied by the URL and the browser setting contradict each other?
    – user31143
    Oct 27, 2017 at 12:39

Detect language. If language NL, go to NL404. If language EN, go to EN404. If language is undefined go to Bilingual404.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.