How to create a multilingual website?
Easy: don't do it.
I mean: don't try to create a website that can handle all content in many languages.
No matter how hard you try, you will never actually have all content in all languages at all times. That's just how it is. What's more, you will have to make exceptions for pages that simply will never exist in a particular language. Don't think you won't, everybody does and so will you.
Also, words have different lengths in most languages, you cannot simply translate "go home" to the Dutch "ga terug naar huis" and expect that to fit in the same space. You would have to create some überflexible HTML that can make the site look good no matter how long or short the translations get.
What you will end up with is a complex system consisting mostly of exceptions, which is hard to maintain and ultimately not very pretty to look at.
Solution: create a separate copy of the website for each language. That way you don't have to make any exceptions, every site can be perfectly tailored to it's language and it will never link to pages that don't yet exist in that language.
"But then updating the site's html requires separate actions for each site!"
Yes, you will have to do the same thing several times, but not having any exceptions in the html/CSS/backend means you can pretty much copy/paste the changes without breaking anything.