Вот у меня та же проблема, не могу сменить локаль на лету... Создал различные локали приложения Form1.resx/Form1.ru-RU.resx/Form1.en-GB.resx. По нажатию Button выставляю Culture и UICulture.
private void btnRussian_Click(object sender, EventArgs e){
Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo("ru-RU", false);
//Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo("", false);
Application.Run(new Form1()); //и вот эта строчка тоже не выполняется... ошибка однако.
}
Но ничего не меняется, интерфейс остаётся в дефолтной локали. Пишу на C# в MS VS 2005. Может быть кто-то сталкивался с подобным.
G>>/// <summary>
G>>/// The main entry point for the application.
G>>/// </summary>
G>>[STAThread]
G>>static void Main()
G>>{
G>> // здесь можно например читать файлик конфигурации и выставлять нужную CurrentCulture в зависимости от сохраненных настроек
G>> // правда, надо перезапускать прогу. у меня на лету не получилось... может кто подскажет
G>> // setting up current culture
G>> Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo("ru-RU", false);
G>> //Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo("", false);
G>> Application.Run(new frmMain());
G>>}
G>>