Как установить CultureInfo.CurrentCulture из приложения.Файл config?
мне нужно установить культуру моего приложения через приложение.Файл конфигурации, так что" pt-BR " используется автоматически для разбора дат без необходимости вручную информировать культуру для каждой операции.
насколько я знаю, есть globalization
раздел, который может быть определен внутри system.web
раздел в Интернете.Конфигурационный файл, но я запускаю консольное приложение, и я не могу понять это.
есть идеи?
3 ответов
Я не знаю встроенный способ, чтобы установить его из App.config, но вы можете просто определить ключ в своем приложении.config как это
<configuration>
<appSettings>
<add key="DefaultCulture" value="pt-BR" />
</appSettings>
</configuration>
и в вашем приложении прочитайте это значение и установите культуру
CultureInfo culture = new CultureInfo(ConfigurationManager.AppSettings["DefaultCulture"]);
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
кроме того, как упоминал @Ilya, начиная с .NET 4.5 вы можете установить культуру по умолчанию один раз, а не за поток:
CultureInfo.DefaultThreadCurrentCulture = culture
CultureInfo.DefaultThreadUICurrentCulture = culture
запуск формы .Net 4.5 можно установить культуру потока по умолчанию, поэтому нет необходимости исправлять ее в потоке:
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("pt-BR");
CultureInfo.DefaultThreadUICurrentCulture = new CultureInfo("pt-BR");
еще не нашли никакого способа, который соответствует web.config
к сожалению.
использование системы.Threading;
нить.CurrentThread.CurrentCulture = новая система.Глобализация.CultureInfo ("bn-BD");
//Для Бангладеш. Я использую эту строку на каждой странице формы load event