Единственное решение, которое мне удалось реализовать, - это изменить реестр. В Windows 7 при смене языка в реестр добавляется новая запись в подразделе: HKEY_CURRENT_USER\Control Panel\Desktop
. Этот ключ будет содержать запись PreferredUILanguagesPending
типа REG_MULTI_SZ
, и его значение будет определять язык интерфейса пользователя. Для применения изменений текущий пользователь должен выйти и снова войти в систему. Это можно сделать с помощью следующего кода:
RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", true);
string[] lang = {"en-ZA"};
key.SetValue("PreferredUILanguagesPending", lang, RegistryValueKind.MultiString);
Чтобы установить языковой пакет, его необходимо установить. Для списка языковых пакетов проверьте здесь или здесь . Если установлено более 1 языкового пакета, опция изменения языка интерфейса появится в Control Panel > Region and Language > Keyboards and Languages > Display language
.