Я разрабатываю многоязычную программу в C# в Windows
Как изменить Windows, пишущий язык на определенных действиях...
например, измениться с английского языка на арабский язык на событии фокуса.
Спасибо
Чтобы выбрать совершенно новую культуру, установите CurrentThread.CurrentCulture
на новую культуру, например чтобы установить французский язык:
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("fr-FR");
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
Вы можете найти список предопределенных CultureInfo
имен здесь и здесь .
Если вы хотите изменить определенные аспекты культуры по умолчанию, вы можете получить культуру текущего потока, использовать ее имя для создания нового экземпляра CultureInfo и установить новую культуру потока с некоторыми изменениями, например для изменения текущего языка и региональных параметров на использование символа «евро»:
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo( System.Threading.Thread.CurrentThread.CurrentCulture.Name);
ci.NumberFormat.CurrencySymbol = "€";
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentCulture = yournewculture;
См. Также свойство CurrentUICulture
.