How do I set CultureInfo.CurrentCulture from an App.Config file?
Solution 1:
I don't know a built-in way to set it from App.config, but you could just define a key in your App.config like this
<configuration>
<appSettings>
<add key="DefaultCulture" value="pt-BR" />
</appSettings>
</configuration>
and in your application read that value and set the culture
CultureInfo culture = new CultureInfo(ConfigurationManager.AppSettings["DefaultCulture"]);
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
Also, as @Ilya has mentioned, since .NET 4.5 you can set the default culture once, rather than per-thread:
CultureInfo.DefaultThreadCurrentCulture = culture
CultureInfo.DefaultThreadCurrentUICulture = culture
Solution 2:
Starting form .Net 4.5 it's possible to set the default thread culture so there is no need to fix it per thread:
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("pt-BR");
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("pt-BR");
I haven't yet found a configuration that matches web.config
globalization
section unfortunately.