Recently there has been a surge in 404 responses because of missing translations.
I believe this is being caused because the user is on an english lesson and trying to change the language from that lesson.
I think this because of the screenshot @psantos10 uploaded to the slack channel.

Any ideas on a way we can solve this?
The simplest way to fix it to add meaningful 404 page with "Sorry, this material does not exist or hasn't yet been translated." instead of not-very-informative current version.
BTW, We can use those stats to prioritise translations. :)
I _think_ I may know what is causing this so I'm going to dig in first thing tomorrow.
Copy and pasting what I put in Slack yesterday:
The sidebar language links are always kept in sync with the lesson you are viewing. If you’re viewing comprehensions then the
rulink is to the Russian comprehension lesson ​_whether it exists or not_​.
The crawler is finding all the lessons that have yet to be translated.
We can show the languages at the bottom of the sidebar only for existing translations.
Or we can show all the languages but if the translation is not available yet, there could be a JS confirm with text like: Unfortunately, this lesson is not yet translated to {{language}}. Would you like to see the original one?.
As stated in the issue message, the reason of 404 responses surge was a plenty of links to non-translated lessons. Now when changes from #1112 are in master, there is pagination and links are shown only for existing translations. It means that user can't get a 404 response unless he wants to visit a non-existing page by editing URL manually, so this issue can be closed.
Most helpful comment
The simplest way to fix it to add meaningful 404 page with "Sorry, this material does not exist or hasn't yet been translated." instead of not-very-informative current version.
BTW, We can use those stats to prioritise translations. :)