There seem to be two different approaches. The ASP.NET framework gives us an easy way to localize pages by putting user interface strings in resources like UserProfile.en.resx, UserProfile.fr.resx, etc.
Another approach is to put all the rows in separate tables in the database, and then use some custom mechanisms to retrieve them according to the current active language / culture settings.
As far as I understand, the approach to the database is more typical for large projects, such as, possibly, corporate software. It also has the advantage that you can provide external access to this database, possibly to a translation company. With resources it will be difficult.
On the other hand, getting all the static rows from the database is additional traffic and load. I see no advantages for a relatively small website for this. βSmallβ does not mean traffic, but the number and complexity of pages.
I personally prefer to use resources for my private projects. Is this an absolutely bad idea?
By the way, can I use resources with ASP.NET MVC?
Any thoughts are appreciated.
EDIT: Just one answer, I canβt believe that this question is of no interest to anyone. Nobody wants to share their opinions?
User
source share