После обновления до Windows 10 1803 некоторые пользователи столкнулись со странной проблемой языковых настроек системы. Проявляется она в том, что помимо основного языка, в списке появляются еще два или три диалекта. Например, если основной системный язык у вас русский, в список могут добавиться русский (Белоруссия), русский (Украина) и так далее. Соответственно, эти языки отображаются в списке раскладок клавиатуры, что может доставлять некоторые неудобства.
Казалось бы, что за проблема, разве их нельзя удалить в Параметрах? Дело в том, что как раз и нельзя, поскольку кнопка удаления в настройках неактивна.
Использование команды lksetup с ключом u также не дает результата, поскольку пакеты обоих диалектов, по сути, отсутствуют в системе. Чтобы избавиться от лишних языков, придется действовать в обход.
Для управления языками в консоли PowerShell имеются несколько командлетов, один из который — Get-WinUserLanguageList, позволяет получать список всех имеющихся в системе языков.
Как можно видеть из скриншота, каждый язык представляет собой массив данных. Так вот, если сделать выборку из этого массива, поместить ее в переменную и установить только нужные языки командой Set-WinUserLanguageList, все остальные языки будут удалены.
На деле это выглядит так:
Языки ru-UA и ru-MD у нас лишние. Избавимся от них с помощью PowerShell. Первая команда помещает в переменную $lang все имеющиеся языки, вторая устанавливает только первых четыре, а пятый и шестой, соответствующее ru-UA и ru-MD при этом обрезаются. Подтверждаем действие и проверяем результат командой Get-WinUserLanguageList.
Как видите, диалекты исчезли из списка, нет их в списке раскладки клавиатуры.
И в списке «Регион и язык» приложения «Параметры».