There seems to be two different approaches. ASP.NET framework gives us an easy way to localize pages by putting UI strings in resources, like UserProfile.en.resx, UserProfile.fr.resx etc.
The other approach is to put all strings in separate tables in the database then use some custom mechanisms to retrieve them accodring to the currently active language/culture settings.
As much as I understand it, the database approach is more typical for big projects like maybe enterprise software. It also has a benefit that you can give an outside access to that database to maybe a translation firm. With resources it would be difficult.
On the other hand, retrieving all static strings from the database is an additional traffic and load overhead. I can't see any benefits for a relatively small web site to do that. "Small" meaning not traffic but the amount and complexity of pages.
I personally prefer using resources for my private projects. Is this an absolutely bad idea?
By the way, can I still use resources with ASP.NET MVC?
Any thoughts are appreciated.
EDIT: Just one answer, cannot believe that this question is of no interest to anyone. Noone wants to share their opinions?