As everyone says, using a resource file is a good way to store localization data. From this point you can find some approaches, the most common approaches being using a satellite assembly or using a file-based resource manager.
In my personal opinion, I think that building satellites helps your project to be more flexible and obviously helps with extensibility (I think that many commercial programs use this approach).
On the following link you can find information about these two approaches.
.NET - Localization Using a Resource File
The following link is a really good article on localization and basic concepts.
Internationalization and localization
Hope this helps.
Mario
source share