Возможно, вам лучше создать копию существующей культуры и зарегистрировать ее под новым именем, например, "fr-CACustom".
[Обратите внимание, что пользовательский язык может быть зарегистрирован на компьютере только пользователем, имеющим права администратора на этом компьютере.]
try
{
CultureAndRegionInfoBuilder cib = new CultureAndRegionInfoBuilder("fr-CACustom", CultureAndRegionModifiers.None);
cib.LoadDataFromCultureInfo(new CultureInfo("fr-CA"));
Console.WriteLine("Creating" + cib.CultureName);
cib.NumberFormat.CurrencyGroupSeparator = ",";
cib.NumberFormat.CurrencyDecimalSeparator = ".";
cib.NumberFormat.NumberGroupSeparator = ",";
cib.NumberFormat.NumberDecimalSeparator = ".";
// add some region info also
cib.LoadDataFromRegionInfo(new RegionInfo("CA"));
cib.RegionEnglishName = "RegionInfo derived from French-speaking Canada";
cib.Register();
Console.WriteLine("New culture created.");
}
catch (Exception e)
{
Console.WriteLine(e);
Console.ReadKey();
}
Этот код регистрирует пользовательскую культуру, определяемую именем культуры, в системном каталоге% WINDIR% \ Globalization, где% WINDIR% - это каталог операционной системы Windows. Это сделает пользовательскую культуру доступной для других приложений.
CultureInfo test = new CultureInfo("fr-CACustom");
[Примечание: чтобы иметь доступ к классу CultureAndRegionInfoBuilder, вам нужна ссылка на сборку sysglobl, которая не является ссылкой по умолчанию в большинстве шаблонов проектов Visual Studio.]