Привіт друзі. 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

Учасник Kato поскаржився на незвичайну проблему після поновлення до Windows 10 1803. Спочатку у нього в системі було три мови - англійську (US), російський і український, а після поновлення додалося ще два англійських - United Kingdom і Canada, що не віддалялися в Параметрах ( кнопка Remove недоступна). Відповідно, ці мови з'являлися в списку розкладок клавіатури, хоча в налаштуваннях їх не було.

У загальному випадку, можна видалити будь-яку мову, який не використовується за умовчанням. Наприклад, якщо в системі тільки англійську та російську мови, то перший можна видалити, якщо основним призначений другий. При цьому неважливо, яким був вихідний мову системи (дистрибутива), що легко визначається в PowerShell командою:

(Get-CimInstance Win32_OperatingSystem) .oslanguage

Команда виводить ідентифікатор мови, де 1033 - англійський (US), тисяча сорок дев'ять - російський, решта в десятковому вигляді або у 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 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 використовуючи Windows PowerShell

Операційна система доступна на багатьох мовах, і ви можете встановити додаткові регіональні пакети для кожного з мов. Ця функція дозволяє використовувати певний (основний) мову для відображення системного інтерфейсу (назви додатків, налаштувань, повідомлень), зберігаючи при цьому можливість використовувати введення з клавіатури за допомогою додаткового регіональної мови (наприклад білоруський, український) для додатків і веб-сайтів.

У деяких випадках, при відсутності можливості видалення основних або додаткових (регіональних) мовних пакетів стандартними методами, ви можете примусово видворити конкретний мовний пакет встановлений в Windows 10 використовуючи консоль Windows PowerShell.


Однак іноді, якщо ви використовуєте кілька мов і вам потрібно змінити налаштування, ви можете виявити, що опція видалення додаткового пакетанедоступна. Наприклад, це може статися при оновленні Windows 10.

Якщо параметр видалення мовного пакета в Windows 10 неактивний додатку « параметри Windows», То для його видалення з допомогою Windows PowerShell, потрібно виконати дії розглянуті нижче.

від імені адміністратора, і далі, щоб вивести список мов встановлених на вашому пристрої виконайте наступну команду:

На скріншоті нижче, видно що на Цей пристрій слідвстановлено кілька мовних пакетів.

Тепер, щоб видалити не видаляти стандартними засобами мовної пакет або просто видалити непотрібний мовної пакет, по черзі виконайте наступні команди:

$ LangList = Get-WinUserLanguageList
$ MarkedLang = $ LangList | where LanguageTag -eq "LANGUAGETAG"
У цій команді замініть " LANGUAGETAG"На скорочену ім'я мовного пакета який потрібно видалити. В даному прикладібуде видалений Українська мова, Це означає що замість "LANGUAGETAG" потрібно ввести "uk", як показано на скріншоті нижче.
Set-WinUserLanguageList $ LangList -Force

Після виконання команд, мова, який ви не могли видалити раніше, тепер зникне з системи, перезавантаження комп'ютера або вихід з системи не потрібно.

Також мова буде видалений зі списку розкладок клавіатури.

Якщо ви намагаєтеся видалити основна мова, пам'ятайте, що необхідно встановити нову мовув якості нової мови за замовчуванням.

Таким чином ви можете видалити будь-який встановлений в системі мовної пакет.