MessageBox buttons - set language?

Frode Lillerud picture Frode Lillerud · May 31, 2009 · Viewed 34.1k times · Source

When you use MessageBox.Show() you have a selection of MessageBoxButtons to choose from. The buttons available are an enum, and give you options like "Yes No", "OK Cancel", etc.

When I am using, for instance, Norwegian message text the user still gets the English "Yes No".

Is there a way to change the text of the buttons (in C#) so that the language is correct? Can I override the text, or set the current locale in some way so that I can have "Ja Nei" instead of "Yes No"?

I do not want to rely on installing a .NET language pack at my client.

Answer

Fredrik Mörk picture Fredrik Mörk · May 31, 2009

There is no native support for this in .NET (as far as I know, anyway; please correct me if I'm wrong, anyone). I did come across this CodeProject article, that seem to do the trick with some message hooking and P/Invoke: http://www.codeproject.com/KB/miscctrl/Localizing_MessageBox.aspx