DataLife Engine / Как удалить языки в Windows 10

Как удалить языки в Windows 10



Привет, друзья. Windows обустроена так, что не все языки из неё можно удалить. Можно сколь угодно переводить интерфейс системы на другой язык, сколь угодно менять локационные сведения, но текущий язык системы и тот, который значился в её дистрибутиве или который указывался при установке в мультиязычных сборках, удалить юзабильным способом с использованием привычных системных настроек не удастся. А после обновления Windows 10 до April 2018 Update добавилась ещё одна проблема – региональные языковые пакеты в виде системных одних языков, но с раскладками клавиатуры других языков. Как удалить из Windows 10 ненужный язык, который не удаляется с использованием привычных системных средств?

Как удалить языки в Windows 10


1. Альтернативное средство удаления языков в Windows 10 

{banner_google1}
После внедрения April 2018 Update из панели управления «Десятки» исчезли языковые настройки. Теперь приложение «Параметры» - это единственное место, где предоставляется возможность юзабильной работы с языковыми настройками. Об этом мы уже говорили немногим ранее, в статье о том, как работать с языками в новых условиях Windows 10 April 2018 Update.  Если ненужный язык не удаляется из-за проблем в работе приложения «Параметры» или из-за каких-то системных ошибок, можно прибегнуть к ещё оставшейся в системе альтернативе – к штатной утилите lpksetup. Запускаем её с помощью команды «Выполнить».

Выбираем «Удалить языки интерфейса».

Галочкой отмечаем, какой нужно удалить. Жмём «Далее».

И пробуем так вот удалить ненужный язык. Но, друзья, это всего лишь альтернатива функционалу управления языковыми пакетами в приложении «Параметры». Этот способ не решает вопрос с удалением упомянутых выше региональных языковых пакетов. Утилита lpksetup просто не увидит такие пакеты как отдельные системные языки. С ними придётся разбираться другими методами.

2. Региональные языковые пакеты в Windows 10


В среде Windows 10, обновлённой до April 2018 Update, кроме основного русскоязычного пакета, возможно существование дополнительных пакетов с русским языком для других стран – Украины, Молдовы, Казахстана, Беларуси и пр. Такие пакеты предусматривают в качестве системного языка русский, а в качестве раскладки – символику выбранной страны. Т.е. системный интерфейс (названия приложений, настроек, уведомлений) отображается на русском, а ввод с клавиатуры осуществляется на украинском, молдавском, белорусском и т.д. Такие региональные пакеты с нашим участием добавляются точно так же, как и обычные языковые пакеты.

Но в отдельных случаях они могут и сами появиться в системе. Региональные пакеты – это, по сути, аналог добавления раскладок других стран. Вот только проблемный этот аналог какой-то получается. Во-первых, глядя на языковую панель в системном трее, не поймёшь, какой из методов ввода сейчас активен – русский или другой страны. И тот, и тот отображаются как «РУС». Во-вторых, единожды установив русскоязычный пакет для другой страны, больше не сможем от него избавиться. Откроем языковые настройки Windows 10.

Для русскоязычного пакета другой страны недоступна функция удаления.

Региональный русский намертво приклеивается к системе и не удаляется даже при переводе языка системы на английский или любой другой язык. Поскольку русский – это язык дистрибутива Windows. С остальными языками ситуация аналогичная: английский, испанский, арабский и прочие распространённые языки существуют не только в виде основного языкового пакета, но также в виде дополнительных региональных пакетов для стран, где на этих языках говорят.

Избавиться от региональных языковых пакетов можно двумя способами:
• Первый – ненужный язык можно с помощью правки реестра убрать из методов ввода, чтобы он впустую не болтался при переключении раскладок;
• Второй – ненужный язык можно полностью удалить из системы с помощью PowerShell.

Смотрите далее, друзья, и выбирайте, какой из способов вам больше нравится. Ну или какой из них сработает.



3. Как убрать из методов ввода неудаляемый язык с помощью реестра


Если мы уберём региональный язык из методов ввода, он не исчезнет из приложения «Параметры», но он не будет отображаться на языковой панели в системном трее. Ну и, соответственно, не будет мешать при переключении языков и раскладок в процессе набора текста. Делается это с помощью реестра Windows.

Открыв редактор реестра, в первую очередь экспортируем его состояние. Экспорт реестра может пригодиться, если вдруг понадобится вернуть всё назад.

Далее раскрываем путь:
Компьютер\HKEY_CURRENT_USER\Keyboard Layout\Preload

В папке «Preload» в нашем случае имеется три пункта:
• Параметр 1 со значением 00000419 – это метод ввода основного русского;
• Параметр 2 со значением 00000409 – это метод ввода английского;
• Параметр 3 со значением 00002000 – это метод ввода украинского, того самого неудаляемого регионального языка.
Последний параметр нам, собственно, и нужно удалить.

Если в системе языков и раскладок установлено больше, чтобы не ошибиться, можно либо на время убрать их, либо найти по их значению справку в Интернете. Но даже ошибившись, помним об экспорте состояния реестра. Просто импортируем REG-файл и делаем всё по новой.

После проделанной операции перезаходим в систему. В методах ввода больше не должно быть лишнего языка, который мы убрали с помощью реестра. Кстати, мы его больше не сможем установить из магазина Microsoft Store.

4. Как удалить неудаляемый язык с помощью PowerShell


Для полного удаления неудаляемого языка запускаем от имени администратора PowerShell. Сначала нам нужно отобразить перечень установленных в системе языков. Вводим команду:   
Get-WinUserLanguageList

В нашем случае PowerShell показывает три установленных языка:
• Основной русский – ru,
• Английский - en-US,
• Региональный украинский – ru-UA.

Запоминаем порядок языковых пакетов. Но порядок нужно запоминать в исчислении, начиная с нуля:
• Основной русский – 0,
• Английский – 1,
• Украинский – 2. 
И так далее, если у вас языков больше.



Чтобы убрать региональный украинский, нам нужно с помощью PowerShell установить перечень языковых пакетов, которые мы хотим оставить в системе. В нашем случае это русский и английский, т.е. языки №0 и №1. Вводим по очереди команды:
$lang = Get-WinUserLanguageList
Set-WinUserLanguageList $($lang[0], $lang[1])

Затем подтверждаем действие клавишей Y.

Первая из введённых команд – универсальная. Во второй команде в каждом отдельном случае необходимо подправить номера. В нашем случае в скобках мы указали порядковые номера оставляемых языковых пакетов:
• Первый русский - $lang[0];
• Второй английский $lang[1].

Если оставляемых языков больше, в скобках команды через запятую добавляем их порядковые номера, начиная с нуля. Примерно так:
Set-WinUserLanguageList $($lang[0], $lang[1], $lang[2], $lang[3], $lang[4], $lang[6])

Выпадать из последовательности должен только порядковый номер удаляемого языка.

После успешной такой операции ненужный язык мгновенно исчезнет. Ни перезаход в систему, ни перезагрузка не потребуется.
29-05-2018
Вернуться назад