Как установить 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