Multilingual applications

I would like to know is there a good means to achieve a multilingual application.  I am aware that most Microsoft controls allow for localisation.  Is there a facility similarly for error provides and message boxes etc.  For example using resource file/s?
Who is Participating?
Jacques Bourgeois (James Burger)Connect With a Mentor PresidentCommented:
Yes, there is.

You first create entries for the default language in the Resources tab of the project's Properties window, by giving them a name, and then the text you want to display.

Make sure you close the window so that the changes are saved before you go on for translation.

In the Solution Explorer, activate the button to Show All Files, and open the My Project folder (Properties if you are in C#). Make a copy of the resources.resx file, and give it the same extension as the ones that were generated when you created the forms, like for French.

Right click on the file and make sure to include it in your project. Then DoubleClick on it. You will find yourself in the resources editor. Keep the same names but translate the text.

You can use these resources in the code anywhere you could have a String, using the following syntax:

MessageBox.Show(My.Resources.YourResourceName) 'VB
MessageBox.Shoe(Properties.Resources.YourResourceName); //C#

Open in new window

David Johnson, CD, MVPConnect With a Mentor OwnerCommented:
It all has to do with localization settings  .. A good example is here: Globalization and Localization in .NET -
AlyantoAuthor Commented:
Thank you gentlemen, I think I have enough here to construct my solution.  I liked James simpler method of creating resource files and David's recommended reading gave me a lot of ideas about how best to structure the information in each resource file.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.