You could set the current culture to English only in debug builds :
#if DEBUG
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
#endif
You could set the current culture to English only in debug builds :
#if DEBUG
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
#endif
I didn't try, but according to the documentation that property should be set by default to the current UI language, that is set in the control panel. So it should work correctly automagically according to your international settings.
Finally a "sharp" solution could be the following:
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
#if DEBUG
// Add this; Change the Locales(En-US): Done.
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
#endif
Application.Run(new Form1());
}
However I'd like a solution without modifications in the project code.
From MSDN:
The CurrentUICulture property will be set implicitly if an application does specify a CurrentUICulture. If CurrentUICulture is not set explicitly in an application's code, it is set by the GetUserDefaultUILanguage function on Windows 2000 and Windows XP Multilingual User Interface (MUI) products where the end user can set the default language. If the user's UI language is not set, it will be set by the system-installed language, which is the language of the operating system's resources.
If an application is Web-based, the CurrentUICulture can be set explicitly in application code to the user's browser accept language.
What about installing an English OS the next time you reinstall your computer? This has the additional advantage that you software is tested on a non-French OS, making sure you don't accidentally hard-code OS-language-specific stuff in your software (e.g. "C:\Programmes", "PCNAME\Administrateurs", ...).