У меня есть приложение, написанное на C#, которое я перевел на несколько разных языков. До сих пор он правильно определял язык из пользовательской культуры операционной системы и отображал все меню (и т. Д.) На этом языке.Язык приложения .NET не установлен/обнаружен правильно
В последнее время я перекомпилировал приложение (после каких-либо заметных изменений в области языков/культуры), и он всегда кажется дефолтным по-английски, несмотря на то, что CurrentUICulture явно является чем-то другим (например, fr). Я затрудняюсь понять, что вызывает проблему. Если я явно установить культуру, как так (в конструкторе главной формы), все работает:
// Explicitly set UICulture, even though it's already fr-FR
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
Кто-нибудь есть какие-либо идеи, что происходит? Я думал, что это, возможно, проблема с Visual Studio, однако я попытался перекомпилировать как на VS2013 & 2015, так и на ту же проблему.
Спасибо.
EDIT: Дополнительная информация: Это настольное приложение WinForms, которое в настоящее время предназначено для платформы .NET v3.5. Поведение наблюдалось в Windows 10 (возможно, недавнее обновление Win10 вызвало это, возможно?)
Вы уверены, что вызываете его в потоке gui? –
Является ли это веб-приложение или настольное приложение или консольное приложение? –
Hi Jeroen, если я покажу MessageBox чуть выше явного набора кода CurrentUICulture, показанного выше, отчеты CultureInfo «fr-FR». Уве - это настольное приложение. –