For development of a multilingual web application, as I know there are 3 solutions:
1.Developing the application or web pages for each language separately.Even though it is easy to host the application differently, the drawback is that keeping both the sets in sync even after a minor change is very difficult.
2.Store all the content in different languages in database tables.This approach solves the problem to a large extent but still requires more coding and database storage.This can have a performance issue also as the content is fetched from the DB; but has the advantage of easy maintainability and also creation of the language on the fly.
3.Store all the content in different languages in resource files. Resource is a non-executable data that is required by the application and is deployed along with the application. This will have a better performance compared to fetching from the DB.
My personal choice is the 3rd solution. I have an article (and complete C# solution code) about this topic. Here is the link:
MVC Basic Site: Step 1 – Multilingual Site Skeleton[
^]