Почему мое приложение не переводится на местный CurrentUICulture?

У меня есть приложение Winform, C#, которое я хотел бы запустить на локализованных языках. Цель.Net - 3.0, так как многие из моих пользователей все еще используют XP. Приложение представляет собой приложение в системном трее.

Я поместил все строки в Resources.resx и создал файлы Resources.XX.resx для разных языков, которые мне нужны, с помощью ResX Resource Manager.

Если я установлю CurrentUICulture на другой язык (например, финский), используя код:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("fi-FI");

Работает как положено и показывает все формы на финском языке.

Однако, если я установлю приложение на машине с установленным языком Финский язык, все winforms будут иметь английские строки (английский также нейтральная строка)

Я проверил, что формы имеют свойство localizable, установленное в true.


Почему это работает, когда я жестко кодирую CurrentUICulture, а не когда нет?

Есть ли альтернативный способ проверить язык интерфейса ПК и обновить приложение CurrentUICulture?

1 ответ

введите описание изображения здесь Вы можете установить Locate и Language на форме, он будет отображаться на языке окон

Другие вопросы по тегам