Thanks for the suggestions! I will check them out.
I don't understand why you don't have separate pages for every language you need to display.
Different component paths for different languages make lots of sense -- it's a good idea that I will use for headers, footers etc.
However, I previously (years ago) used a system that used different files for different languages, and it's a maintenance nightmare. It's easy to do the initial translation: Just copy en/some.html over to de/some.html and replace all English text with the German translation. However, to make changes, you first change it in one version, then you open the other file, search all the way down to the place where you want to change something, insert the new translation, forget half of the new stuff that you wrote, forget the other change that you made etc.
I'm much happier with the current approach -- it saves me a lot of time and helps me prevent stupid mistakes.