Как удалить язык в windows 10. Что делать, если не получается удалить язык

Участник Kato пожаловался на необычную проблему после обновления до Windows 10 1803. Изначально у него в системе было три языка – английский (US), русский и украинский, а после обновления добавилось еще два английских – United Kingdom и Canada, которые не удалялись в Параметрах (кнопка Remove недоступна). Соответственно, эти языки появлялись в списке раскладок клавиатуры, хотя в настройках их не было.

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

(Get-CimInstance Win32_OperatingSystem).oslanguage

Команда выводит идентификатор языка, где 1033 – английский (US), 1049 – русский, остальные в десятичном виде или у Microsoft в шестнадцатеричном (вставляйте значения в калькулятор программиста).

На проблемной ОС эта команда выдала 2057, что соответствует English (United Kingdom). В сочетании с картиной из параметров это было очень странно, потому что у языка дистрибутива никаких языковых пакетов быть не должно, поскольку он и так есть в системе.

Для начала мы попытались удалить языковые пакеты UK и Canada командами

Lpksetup /u en-gb lpksetup /u en-ca

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

У PowerShell есть два командлета для управления языками пользователя – Get-WinUserLanguageList и Set-WinUserLanguageList . Первый умеет получать список языков, а второй задавать его. В PowerShell список соответствовал картине в параметрах.

Из справки второго командлета не вполне очевидно, как удалить ненужные языки. Зато она дает достаточно толстый намек на то, что вывод первого командлета представляет собой массив. Это можно использовать во благо. Нам нужны только первые три языка из списка.

$List = Get-WinUserLanguageList Set-WinUserLanguageList $($list, $list, $list) Get-WinUserLanguageList

Первая команда помещает в переменную массив из списка языков, а вторая задает в качестве текущих языков первые три элемента массива. При этом остальные языки удаляются! Третья команда выводит список языков для проверки.

Решено! В который уже раз PowerShell позволяет элегантно решить задачу без запредельных усилий. Если будете экспериментировать под учетной записью Microsoft, отключите синхронизацию языковых параметров во избежание нежелательных эффектов (я словил несколько странностей:).

В Windows 10 1803 языковые настройки практически полностью перекочевали из классической панели управления в Параметры (исключение составляет классическое окно с настройками сочетаний клавиш и языковой панели). В связи с этим я обновил статью про 6 языковых настроек, которые могут поставить вас в тупик в контексте изменившегося интерфейса.

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

1. Альтернативное средство удаления языков в 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

Windows поддерживает несколько языков. Теперь он даже позволяет установить несколько языков на вашем ПК. Вы можете использовать его для отображения, в то время как другие могут использовать для ввода. Тем не менее, Windows 10 также поддерживает возможность быстрого изменения языка, что позволяет удобно переключаться между ними во время набора. Это иногда становится проблемой для многих. Они не могут удалить язык в Windows 10 1803 из языковой панели. Давайте разберем способ, который поможет вам избавиться от лишних языковых пакетов в системе.

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

В поиске меню "Пуск" наберите PowerShell, щелкните правой кнопкой мыши по нему в результатах поиска и выберите "Запуск от имени администратора". Введите или скопируйте следующую команду в строку PowerShell и нажмите клавишу Enter.

Get-WinUserLanguageList

  • После ввода этой команды обратите внимание на "LanguageTag ", указанный для языка, который вы хотите удалить. Это понадобится вам в следующем шаге. Я к примеру буду удалять лишний белорусский язык (be) .
  • Далее введите каждую команду по отдельности нажимая Enter. Замените в команде "be" на свой язык, который хотите удалить.

У меня на ноутбуке с Windows 10 изначально было установлено 3 языка: русский, белорусский и английский, но после апрельского обновления системы до Windows 10 1803 (April Update), в списке языков появились еще два дополнительных языка – English (United Kingdom) и English (Canada), хотя я точно уверен, что не устанавливал их. Теперь в списке раскладок клавиатуры у меня отображается целых пять языков. Причем система не дает удалить дополнительные языки (кнопка Remove неактивна). Теперь мне приходится переключаться между 5 раскладками клавиатуры вместо 3, что очень неудобно! Помогите! Что мне нужно сделать, чтобы удалить эти неудаляемые языковые пакеты?

Ответ

В очередной раз отмечаю, что на самом деле последнее обновление Windows 10 1803 принесло много сюрпризов пользователям (вспомните хотя бы , который появился после обновления).

В Windows 10 обычно можно удалить любой язык, который не используется в качестве основного языка по умолчанию. Однако в Windows 10 1803 Microsoft признала баг с дополнительными языками. В том случае, если в системе добавить дополнительный язык, который использует тот же базовый язык, что и текущий язык отображения Windows, тогда этот язык удалить нельзя.

К примеру, если английский язык (United States) является текущим языком интерфейса Windows, то после добавления английского языка (United Kingdom) вы не сможете удалить оба данных языка из списка предпочтительных языков. И, конечно, очень неудобно, что в языковой закладке на панели задач (таскбаре) появился лишний ненужный язык.

С помощью следующих команд вы не сможете удалить дополнительные языки из системы, т.к. этих языковых пакетов в Windows не установлено.

lpksetup /u en-gb
lpksetup /u en-ca

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


В том случае, если нужно оставить в системе несколько языков, можно удалить только ненужные языки следующими командами. К примеру, вы хотите удалить языки с LanguageTag en-Gb и zh-Hans-CN.

$LanguageList = Get-WinUserLanguageList
$DeleteLang = $LanguageList | where LanguageTag -eq "en-Gb"
$LanguageList.Remove($DeleteLang)
Set-WinUserLanguageList $LanguageList –Force

Для удаления китайского языка, замените вторую строку на

$DeleteLang = $LanguageList | where LanguageTag -eq "zh-Hans-CN"

Или вы можете указать список языков, которые нужно оставить:

$1=New-WinUserLanguageList en-US
$1.Add("eu-US")
$1.Add("ru")
Set-WinUserLanguageList $1

Закройте консоль PowerShell и убедитесь, что все лишние языки удалились корректно.

У Windows 10, на некоторых клиентских машинах появилась лишняя раскладка клавиатуры, в основном дублируется Английская раскладка американской, которые не отличаются ни чем, но к примеру если вы переключаете раскладку с Английской, то приходится два раза нажимать на клавиши для переключения на русский, к тому же Punto Switcher тоже не правильно отрабатывает и не может перевести правильно раскладку. В общем проблему определили, теперь будем решать, сразу скажу я пробовал два решения, первое наиболее простое, через настройки, добавляя а потом удаляя раскладки, но через некоторое время проблема вернулась, и пользователи фирмы, которой я оказываю , вновь пожаловались на наличие лишней раскладки, поэтому будем пользоваться вторым методом удаления лишней раскладки, через правку реестра.

Так выглядит лишняя раскладка, если кликнуть по иконки языка возле часов в трее

Убираем лишнюю раскладку клавиатуры через реестр

Что бы запустить редактор реестра, проще всего написать его имя в консоле «Выполнить», Windows 10 ее не показывает в меню, ее можно вызвать горячими клавишами WIN + R

или нажать на значок «поиск» который рядом с пуском, и написать по русски «Выполнить»

Откроется редактор реестра, нам нужно перейти по этому пути

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

и создать новый «Строковый параметр», для этого нажать правой кнопкой мыши на пустом месте. У меня он уже создан, и помечен цифрой «3» на скриншоте ниже.

Со значением «1» вот так как на скриншоте

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

Как только компьютер загрузится, можно проверить отсутствие лишних языковых раскладок

Теперь у нас на компьютере нет лишних раскладок, и переключение языка происходит за одно нажатие клавиш смены раскладки на Windows 10

Случайные статьи

Вверх