Как установить CultureInfo.CurrentCulture из файла App.Config? - PullRequest
34 голосов
/ 02 февраля 2012

Мне нужно установить культуру моего приложения через файл App.Config, чтобы «pt-BR» автоматически использовался для анализа дат без необходимости вручную сообщать культуру для каждой операции.

Насколько я знаю, есть раздел globalization, который можно определить внутри раздела system.web в файле Web.Config, но я запускаю консольное приложение и не могу понять это.

Есть идеи?

Ответы [ 3 ]

26 голосов
/ 02 февраля 2012

Я не знаю встроенного способа установить его из App.config, но вы можете просто определить ключ в вашем App.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.DefaultThreadCurrentUICulture = culture
7 голосов
/ 14 июня 2018

Начиная с формы .Net 4.5 можно установить культуру потоков по умолчанию, поэтому нет необходимости исправлять ее для каждого потока:

CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("pt-BR");
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("pt-BR");

Я еще не нашел конфигурацию, которая соответствует web.config *Секция 1005 * к сожалению.

0 голосов
/ 20 марта 2017

с использованием System.Threading;

Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo ("bn-BD");

// Для Бангладеш. Я использую эту строку на каждом событии загрузки формы страницы

...