Как изменить язык на английский на командной строке

👍 Командная строка во всех ее ипостасях (консоль, терминал) предназначена для запуска исполняемых файлов и выполнения специальных задач.

Как поменять язык в командной строке

Командная строка во всех ее ипостасях (консоль, терминал) предназначена для запуска исполняемых файлов и выполнения специальных задач. Эта программа запускается в качестве отдельного процесса, но в некоторых случаях она встраивается в другие приложения.

Как поменять язык в командной строке

Вам понадобится

  • Программное обеспечение:
  • — командная строка;
  • — терминал.

Инструкция

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

Для операционных систем семейства Windows основными являются два варианта сочетания клавиш: Ctrl+Shift и Alt+Shift. Вам достаточно выбрать один из предложенных вариантов, чтобы переключить раскладку в командной строке. Однако, существуют различные программы, которые могут дополнить функциональность вашей системы, например, Punto Switcher.

В некоторых случаях вы можете столкнуться с проблемой переключения языка в оконных приложениях. Для решения этой проблемы необходимо попеременно использовать левый Alt+Shift (английская раскладка) и правый Alt+Shift (русская раскладка). Также эти параметры можно изменить, открыв апплет «Язык и региональные стандарты».

Откройте меню «Пуск» и нажмите на «Панель управления». В появившемся окне дважды щелкните на значке «Язык и региональные стандарты». Перейдите к вкладке «Языки» и нажмите кнопку «Подробно». Затем нажмите кнопки «Параметры клавиатуры» и «Смена сочетаний клавиш».

В открывшемся окне «Дополнительные параметры клавиатуры» смените сочетание клавиш для всех раскладок, установленных в системе. Также вы можете для каждой раскладки задать свое сочетание, которое не используется другими программами. Выделите нужную строку, нажмите кнопку «Смена сочетаний». Поставьте галочку на пункте «Использовать…» и выберите нужные клавиши. Затем несколько раз нажмите кнопки «ОК».

Для операционных систем семейства Linux действует то же правило, но количество вариантов сочетаний клавиш значительно больше. Чтобы сменить клавиатурные сочетания, необходимо открыть меню «Система», выбрать пункты «Параметры» и «Клавиатура». В открывшемся окне нажмите кнопку «Параметры» и раскройте список «Клавиши для смены раскладки».

Источники:

  • как поменять столбцы строки

Войти на сайт

или

Забыли пароль?
Еще не зарегистрированы?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Настройка кодировки шрифтов в cmd/bat (иероглифы, кракозябры)

Настройка кодировки шрифтов в cmd/bat (иероглифы, кракозябры)

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

Исправляем проблему с кодировкой с помощью смены шрифта

Первым делом нужно зайти в свойства окна: Правой кнопкой щелкнуть по верхней части окна -> Свойства -> в открывшемся окне в поле Шрифт выбрать Lucida Console и нажать кнопку ОК.
После этого не читаемые символы должны исчезнуть, а текст должен выводиться на русском языке.

Исправляем проблему с кодировкой с помощью смены кодировки

Вместо смены шрифта, можно сменить кодировку, которая используется при работе cmd.exe.
Узнать текущую кодировку можно введя в командной строке команду chcp , после ввода данной команды необходимо нажать Enter .

Как видно на скриншоте, текущая используемая кодировка Windows-1251
Для изменения кодировки нам необходимо воспользоваться командой chcp <код_новой_кодировки> , где <код_новой_кодировки> — это сам код кодировки, на которую мы хотим переключиться. Возможные значения:

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

Добавляем поддержку русского языка в UbuntuDebian системах:

Установимобновим пакет locales:

После чего выполним команду:

Откроется диалоговое окно, в котором необходимо установить нужное значение региональных настроек (локали).

Добавьте в данном меню поддержку русского языка:

В данном случае к существующим мы добавляем ru_RU.UTF-8 .

После выбора локалей для генерации будет предложен выбор локали по умолчанию в системном окружении:

Как я могу изменить язык в CMD?

На вкладке «Клавиатуры и язык» щелкните «Сменить клавиатуру». Щелкните Добавить. Разверните нужный язык.

Как изменить язык командной строки в Windows 10?

Открыть настройки. Перейдите в раздел «Время и язык». Слева нажмите на Регион и язык. Справа выберите язык, на котором вы хотите отображать Windows 10.

Как я могу изменить язык моего ПК на английский?

Изменить языковые настройки

  1. Открыть настройки.
  2. Щелкните Время и язык.
  3. Щелкните «Язык».
  4. В разделе «Предпочтительные языки» нажмите кнопку «Добавить язык». Источник: Windows Central.
  5. Найдите новый язык. …
  6. В результате выберите языковой пакет. …
  7. Щелкните кнопку Далее.
  8. Отметьте опцию Установить языковой пакет.

Какой язык программирования CMD?

CMD технически является языком сценариев оболочки, таким как bash, sh или csh. Это полезно для автоматизации задач, связанных с вызовом существующих программ из командной строки.

Как изменить язык клавиатуры в PowerShell?

Установить раскладку клавиатуры по умолчанию с помощью PowerShell

  1. Откройте PowerShell.
  2. Чтобы получить список доступных языков, введите или скопируйте и вставьте следующую команду: Get-WinUserLanguageList.
  3. См. Значение LanguageTag для каждого из языков.
  4. Выполните следующую команду, чтобы изменить порядок списка языков в Windows 10.

Как открыть экранную клавиатуру в CMD?

Щелкните Начать экранную клавиатуру. Нажмите клавиши Windows + R, чтобы открыть окно «Выполнить», или откройте командную строку. Введите osk и нажмите Enter. Это немедленно откроет экранную клавиатуру.

Как изменить язык отображения?

Измените язык отображения

Выбранный вами язык отображения изменяет язык по умолчанию, используемый такими функциями Windows, как «Настройки» и «Проводник». Нажмите кнопку «Пуск», затем выберите «Настройки»> «Время и язык»> «Язык». Выберите язык в меню языка отображения Windows.

Почему я не могу изменить язык отображения Windows?

Выполните всего три шага; вы можете легко изменить язык отображения в Windows 10. Откройте «Настройки» на своем ПК. Щелкните Время и язык, а затем перейдите в меню «Регион и язык». Нажмите «Добавить язык», чтобы найти нужный язык и загрузить его.

Как я могу изменить язык моего ноутбука?

  1. Щелкните Пуск, а затем щелкните Панель управления.
  2. В разделе «Часы, язык и региональные стандарты» щелкните Сменить клавиатуру или другие способы ввода.
  3. В диалоговом окне «Язык и региональные стандарты» нажмите «Сменить клавиатуру».
  4. В диалоговом окне «Текстовые службы и языки ввода» перейдите на вкладку «Языковая панель».

Могу ли я изменить язык Windows 10?

Выбранный вами язык отображения изменяет язык по умолчанию, используемый такими функциями Windows, как «Настройки» и «Проводник». Выберите Пуск> Параметры> Время и язык> Язык. Выберите язык в меню языка отображения Windows.

Как поменять язык обратно на английский?

Как изменить язык на Android

  1. Откройте приложение «Настройки» на своем устройстве Android.
  2. Коснитесь «Система».
  3. Коснитесь «Языки и ввод».
  4. Коснитесь «Языки».
  5. Нажмите «Добавить язык».
  6. Выберите нужный язык из списка, нажав на него.

Почему я не могу изменить язык в Windows 10?

Путь: клавиша Windows, настройки, время и язык, регион и язык. Если желаемого языка нет в списке, нажмите «Добавить язык», найдите его и загрузите. Тот же путь: клавиша Windows, настройки, время и язык, регион и язык. Щелкните нужный язык, а затем щелкните «Параметры».

Какая польза от CMD?

Что такое командная строка. В операционных системах Windows командная строка — это программа, которая имитирует поле ввода на экране текстового пользовательского интерфейса с графическим пользовательским интерфейсом Windows (GUI). Его можно использовать для выполнения введенных команд и выполнения расширенных административных функций.

Каковы основные команды Windows?

Здесь мы представляем основные команды, которые должен знать каждый пользователь Windows.

Команды командной строки Windows

25 / 25 / 15

Регистрация: 17.02.2014

Сообщений: 310

1

Изменить язык вывода командной строки

03.05.2014, 01:42. Показов 50720. Ответов 6


1) как установить русский язык в командной строке, когда я включаю командную строку у меня пишет по-русски (с) Корпорация Майкрософт и так далее, а когда вожу команду «HELP», то на английском языке появляются объяснения
2) как изменить время в командной строке пишу команду «time» появляется сообщение «Enter the new time» я ввожу 12:00:00,00 не помогает 12:00 тоже не работает

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



1146 / 954 / 76

Регистрация: 11.10.2010

Сообщений: 6,031

03.05.2014, 10:17

2

Пуск->Панель управления ->Язык и региональные стандарты ->Вкладка Языки и Подробнее ->Вкладка Параметры
так делалось?



1



Persk

Модератор

Эксперт Windows

8364 / 3329 / 241

Регистрация: 25.10.2010

Сообщений: 13,538

03.05.2014, 14:25

3

Цитата
Сообщение от user-men
Посмотреть сообщение

как изменить время в командной строке пишу команду «time» появляется сообщение «Enter the new time» я ввожу 12:00:00,00 не помогает 12:00 тоже не работает

Bash
1
time /?
Bash
1
time /T



1



25 / 25 / 15

Регистрация: 17.02.2014

Сообщений: 310

03.05.2014, 15:06

 [ТС]

4

Цитата
Сообщение от Persk
Посмотреть сообщение

Код Bash
1
time /?
Код Bash
1
time /T

что-то я ничего не понял если мне нужно изменить время на 12:00 то как это сделает



0



3455 / 1993 / 635

Регистрация: 26.02.2014

Сообщений: 1,457

03.05.2014, 15:21

5

Лучший ответ Сообщение было отмечено user-men как решение

Решение

Если после попытки изменения времени появляется сообщение «A required privilege is not held by the client.», то командную строку надо перезапусить от имени администратора.



1



Эксперт WindowsАвтор FAQ

17955 / 7592 / 889

Регистрация: 25.12.2011

Сообщений: 11,323

Записей в блоге: 17

03.05.2014, 21:30

6

user-men,
1. Описания к командам появляются на английском языке?
Введите в консоль команду

Напишите в теме, что ответит команда.
Введите последовательно:

Напишите, появились ли изменения.

2. Запуск скрипта с повышенными привилегиями [руководство]



1



31 / 40 / 6

Регистрация: 04.10.2014

Сообщений: 185

27.07.2021, 14:25

7

Есть еще один обходной путь, если нужен английский при выводе информации — перевести консоль в UTF-8
chcp 65001

для проверки
help



0



Is is possible to change the keyboard layout via command line on Windows XP/7?

asked Mar 1, 2012 at 16:04

JohnnyFromBF's user avatar

JohnnyFromBFJohnnyFromBF

4,81819 gold badges57 silver badges72 bronze badges

yes.

Configuring Regional and Language Options International Settings with command line automation

Windows Vista Command Line Configuration of International Settings

command line example:

control intl.cpl,, /f:"%CD%AddKeyboardLanguage.xml"

AddKeyboardLanguage.xml example:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/></gs:UserList> 
<gs:InputPreferences> 

<!--ch-Google--><gs:InputLanguageID Action="add" ID="0804:E0200804"/>

</gs:InputPreferences>
</gs:GlobalizationServices>

RemoveKeyboardLanguage.xml example:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/></gs:UserList> 
<gs:InputPreferences> 

<!--ch-Google--><gs:InputLanguageID Action="remove" ID="0804:E0200804"/>

</gs:InputPreferences>
</gs:GlobalizationServices>

JamesTheAwesomeDude's user avatar

answered Aug 22, 2013 at 8:03

Rabbit's user avatar

2

Windows 8 brings a new International PowerShell module. Unfortunately it doesn’t seem like this can be backported or has any Windows 7 alternative


Configure international settings by using PowerShell cmdlets

In Windows 8 you can use the International Settings PowerShell cmdlets
to change the language on a running Windows installation. The benefit
of using PowerShell cmdlets is that you can incorporate them into a
script to facilitate deployment and configuration of Windows.
Source: http://technet.microsoft.com/en-us/library/hh825705.aspx

  1. Open a Windows PowerShell prompt.
  2. Import the international settings module by running the following command:

    ipmo international

  3. Display the locale information on the computer by
    running the following command:

    Get-WinSystemLocale

  4. Set the locale for the region and language that you want. For
    example, the following command sets the system locale to Japanese
    (Japan):

    Set-WinSystemLocale ja-JP

answered Oct 10, 2012 at 10:12

thommck's user avatar

2

«Windows 8 brings a new International PowerShell module. Unfortunately it doesn’t seem like this can be backported or has any Windows 7 alternative»

You could try this (example).. this enables only the selected keyboard layouts and clears the others

Install-Module -name timezone -force
#Sets the systems timezone on "Western Europe Standard time" 
$langlist = New-WinUserLanguageList en-US

#Clears the other input methods from the displayed language
$langlist[0].InputMethodTips.Clear()

#Sets and adds the swiss-German keyboard
$langlist[0].InputMethodTips.add('0409:00000807')

#Sets and adds the swiss-french keyboard
$langlist[0].InputMethodTips.add('0409:0000100C')

#Apply the changes made on the system (and force to avoid the prompt  message)
Set-WinUserLanguageList $langlist -Force

answered Mar 20, 2017 at 10:47

user709166's user avatar

No (not via CMD), you will have to change it the following way. There used to be a keyb.com command in DOS but that no longer exists in Windows.

Source:

Windows 7 or Windows Vista

  1. Click Start, type intl.cpl in
    the Start Search box, and then press ENTER.
  2. On the Keyboards and Language tab, click Change keyboards. Click
    Add.
  3. Expand the language that you want. For example, expand French
    (Canada).
  4. Expand Keyboard list, click to select the Canadian French check box,
    and then click OK.
  5. In the options, click View Layout to compare the layout with the
    actual keyboard.
  6. In the Default input language list, click French (Canada) – Canadian
    French, and then click OK two times.
  7. In the Regional and Language Options dialog box, click OK.
  8. Click the Language bar, and then click FR French (Canada).

Windows XP

  1. Click Start , type intl.cpl in the Run box, and then press ENTER.
  2. On the Languages tab, click Details.
  3. Under Installed services, click Add.
  4. In the Input language list, select the language that you want. For
    example, select French (Canada) .
  5. In the Keyboard layout/IME list, click Canadian French, and then
    click OK.
  6. In the Select one of the installed input languages to use when you
    start your computer list, click French (Canada) – Canadian French,
    and then click OK.
  7. In the Regional and Language Options dialog box, click OK.
  8. Click the Language bar, and then click French (Canada).

But you can in Linux using loadkeys.

Edel Gerardo's user avatar

answered Mar 1, 2012 at 16:10

sealz's user avatar

sealzsealz

2,2142 gold badges27 silver badges41 bronze badges

2

For information: Set-WinUserLanguageList as suggested in other answers does not just change the active keyboard input language, it overwrites your current list of (enabled) input languages. To set up two languages or more that you can switch between, use something along these lines:

Set-WinUserLanguageList -Force en-US,sv-SE

The language given as the first argument to the list will be selected as the active language, so this can be an efficient way to change both active language and the overall list of keyboard languages available.

answered Oct 5, 2019 at 18:44

Per Lundberg's user avatar

Per LundbergPer Lundberg

3141 gold badge4 silver badges15 bronze badges

$psdrive = New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS

Set-ItemProperty -Path "HKU:.DEFAULTKeyboard LayoutPreload" -Name 1 -Value 00001033

$psdrive | Remove-PSDrive

This works fine in the Windows 7 PowerShell but you have to logout and back in to enable ist
it changes the layout to English if you want another language you have to change the -Value number
you can find them here: https://www.science.co.il/language/Locale-codes.php

answered Dec 18, 2017 at 10:22

Jana-Panda's user avatar

You can do this in Powershell using the following commands.

Change keyboard to Arabic

Set-WinUserLanguageList -LanguageList  ar-eg, en-US -force

Change keyboard to English:

Set-WinUserLanguageList -LanguageList  en-US, ar-EG -force

Mokubai's user avatar

Mokubai

87.1k25 gold badges200 silver badges223 bronze badges

answered Jun 11, 2021 at 7:34

Ehab Hamouda's user avatar

First I would like to mention this works on Windows 10, and I will be using Powershell.

Second I’ll post here a clean answer from all the information on this thread (and one other) all in one single post.

1- Get the current language list with:

Get-WinUserLanguageList | Format-Table -Property LanguageTag, InputMethodTips

This will print the current available Settings on the system, on my case:

LanguageTag InputMethodTips
----------- ---------------
en-US       {0409:00000409}
nl-BE       {0813:00000813}

2- Now in order to add another language (in my case I wanted to add Portuguese ‘pt-PT’):

Set-WinUserLanguageList -Force 'pt-PT', 'en-US', 'nl-BE'

This will leave the previous languages on the list + add the one I need in 1º place, this will make all languages available on the UI and easier to switch keyboards:

enter image description here

The ‘-Force’ option will simply avoid the confirmation prompt.

answered Sep 15, 2022 at 9:25

Gotham Llianen's user avatar

Is is possible to change the keyboard layout via command line on Windows XP/7?

asked Mar 1, 2012 at 16:04

JohnnyFromBF's user avatar

JohnnyFromBFJohnnyFromBF

4,81819 gold badges57 silver badges72 bronze badges

yes.

Configuring Regional and Language Options International Settings with command line automation

Windows Vista Command Line Configuration of International Settings

command line example:

control intl.cpl,, /f:"%CD%AddKeyboardLanguage.xml"

AddKeyboardLanguage.xml example:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/></gs:UserList> 
<gs:InputPreferences> 

<!--ch-Google--><gs:InputLanguageID Action="add" ID="0804:E0200804"/>

</gs:InputPreferences>
</gs:GlobalizationServices>

RemoveKeyboardLanguage.xml example:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<gs:UserList>
<gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/></gs:UserList> 
<gs:InputPreferences> 

<!--ch-Google--><gs:InputLanguageID Action="remove" ID="0804:E0200804"/>

</gs:InputPreferences>
</gs:GlobalizationServices>

JamesTheAwesomeDude's user avatar

answered Aug 22, 2013 at 8:03

Rabbit's user avatar

2

Windows 8 brings a new International PowerShell module. Unfortunately it doesn’t seem like this can be backported or has any Windows 7 alternative


Configure international settings by using PowerShell cmdlets

In Windows 8 you can use the International Settings PowerShell cmdlets
to change the language on a running Windows installation. The benefit
of using PowerShell cmdlets is that you can incorporate them into a
script to facilitate deployment and configuration of Windows.
Source: http://technet.microsoft.com/en-us/library/hh825705.aspx

  1. Open a Windows PowerShell prompt.
  2. Import the international settings module by running the following command:

    ipmo international

  3. Display the locale information on the computer by
    running the following command:

    Get-WinSystemLocale

  4. Set the locale for the region and language that you want. For
    example, the following command sets the system locale to Japanese
    (Japan):

    Set-WinSystemLocale ja-JP

answered Oct 10, 2012 at 10:12

thommck's user avatar

2

«Windows 8 brings a new International PowerShell module. Unfortunately it doesn’t seem like this can be backported or has any Windows 7 alternative»

You could try this (example).. this enables only the selected keyboard layouts and clears the others

Install-Module -name timezone -force
#Sets the systems timezone on "Western Europe Standard time" 
$langlist = New-WinUserLanguageList en-US

#Clears the other input methods from the displayed language
$langlist[0].InputMethodTips.Clear()

#Sets and adds the swiss-German keyboard
$langlist[0].InputMethodTips.add('0409:00000807')

#Sets and adds the swiss-french keyboard
$langlist[0].InputMethodTips.add('0409:0000100C')

#Apply the changes made on the system (and force to avoid the prompt  message)
Set-WinUserLanguageList $langlist -Force

answered Mar 20, 2017 at 10:47

user709166's user avatar

No (not via CMD), you will have to change it the following way. There used to be a keyb.com command in DOS but that no longer exists in Windows.

Source:

Windows 7 or Windows Vista

  1. Click Start, type intl.cpl in
    the Start Search box, and then press ENTER.
  2. On the Keyboards and Language tab, click Change keyboards. Click
    Add.
  3. Expand the language that you want. For example, expand French
    (Canada).
  4. Expand Keyboard list, click to select the Canadian French check box,
    and then click OK.
  5. In the options, click View Layout to compare the layout with the
    actual keyboard.
  6. In the Default input language list, click French (Canada) – Canadian
    French, and then click OK two times.
  7. In the Regional and Language Options dialog box, click OK.
  8. Click the Language bar, and then click FR French (Canada).

Windows XP

  1. Click Start , type intl.cpl in the Run box, and then press ENTER.
  2. On the Languages tab, click Details.
  3. Under Installed services, click Add.
  4. In the Input language list, select the language that you want. For
    example, select French (Canada) .
  5. In the Keyboard layout/IME list, click Canadian French, and then
    click OK.
  6. In the Select one of the installed input languages to use when you
    start your computer list, click French (Canada) – Canadian French,
    and then click OK.
  7. In the Regional and Language Options dialog box, click OK.
  8. Click the Language bar, and then click French (Canada).

But you can in Linux using loadkeys.

Edel Gerardo's user avatar

answered Mar 1, 2012 at 16:10

sealz's user avatar

sealzsealz

2,2142 gold badges27 silver badges41 bronze badges

2

For information: Set-WinUserLanguageList as suggested in other answers does not just change the active keyboard input language, it overwrites your current list of (enabled) input languages. To set up two languages or more that you can switch between, use something along these lines:

Set-WinUserLanguageList -Force en-US,sv-SE

The language given as the first argument to the list will be selected as the active language, so this can be an efficient way to change both active language and the overall list of keyboard languages available.

answered Oct 5, 2019 at 18:44

Per Lundberg's user avatar

Per LundbergPer Lundberg

3141 gold badge4 silver badges15 bronze badges

$psdrive = New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS

Set-ItemProperty -Path "HKU:.DEFAULTKeyboard LayoutPreload" -Name 1 -Value 00001033

$psdrive | Remove-PSDrive

This works fine in the Windows 7 PowerShell but you have to logout and back in to enable ist
it changes the layout to English if you want another language you have to change the -Value number
you can find them here: https://www.science.co.il/language/Locale-codes.php

answered Dec 18, 2017 at 10:22

Jana-Panda's user avatar

You can do this in Powershell using the following commands.

Change keyboard to Arabic

Set-WinUserLanguageList -LanguageList  ar-eg, en-US -force

Change keyboard to English:

Set-WinUserLanguageList -LanguageList  en-US, ar-EG -force

Mokubai's user avatar

Mokubai

87.1k25 gold badges200 silver badges223 bronze badges

answered Jun 11, 2021 at 7:34

Ehab Hamouda's user avatar

First I would like to mention this works on Windows 10, and I will be using Powershell.

Second I’ll post here a clean answer from all the information on this thread (and one other) all in one single post.

1- Get the current language list with:

Get-WinUserLanguageList | Format-Table -Property LanguageTag, InputMethodTips

This will print the current available Settings on the system, on my case:

LanguageTag InputMethodTips
----------- ---------------
en-US       {0409:00000409}
nl-BE       {0813:00000813}

2- Now in order to add another language (in my case I wanted to add Portuguese ‘pt-PT’):

Set-WinUserLanguageList -Force 'pt-PT', 'en-US', 'nl-BE'

This will leave the previous languages on the list + add the one I need in 1º place, this will make all languages available on the UI and easier to switch keyboards:

enter image description here

The ‘-Force’ option will simply avoid the confirmation prompt.

answered Sep 15, 2022 at 9:25

Gotham Llianen's user avatar

Введение

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

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

Console, предоставляет свои методы приложению через системные программы-оболочки, такие как командная строка или командный процессор (cmd.exe), PowerShell, Terminal и другие. По сути, консоль находится под двойным управлением – приложения и оболочки, что является потенциально конфликтной ситуацией, в первую очередь в части использования кодировок.

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

В русской клавиатуре, вероятно, есть ключ-модификатор для латинского текста.

Некоторые вероятные подозреваемые – это ключ Caps Lock (латинская блокировка), клавиша Alt Alt (AltGr) или, возможно, комбинация клавиш Alt и Сдвиньте вместе.

Если бы вы могли посмотреть файл раскладки (или запустить dumpkeys), то вы точно знаете. Но может быть трудно найти информацию, пока ваша клавиатура застряла в незнакомом каркасе!

Комментарий в верхней части /usr/share/keymaps/i386/qwerty/ru.kmap.gz в Ubuntu 16.04 LTS (Xenial Xerus) говорит:

«Кириллический» режим переключается клавишей Right_Ctrl и сдвигается клавишей AltGr.

Надеюсь, ваша клавиатура имеет правый ключ Caps Lock ! Если это не так, вам нужно будет удерживать клавишу Alt-Alt (AltGr) во время переключения.

Вам понадобится

  • Программное обеспечение:
  • – командная строка;
  • – терминал.

Виды консолей

В общем случае функции консоли таковы:

  • управление операционной системой и системным окружением приложений на основе применения стандартных системных устройств ввода-вывода (экран и клавиатура), использования команд операционной системы и/или собственно консоли;

  • запуск приложений и обеспечение их доступа к стандартным потокам ввода-вывода системы, также с помощью стандартных системных устройств ввода-вывода.

Основная консоль Windows – командная строка или иначе командный процессор (CMD). Большие возможности предоставляют оболочки PowerShell (PS), Windows PowerShell (WPS) и Terminal.

По умолчанию Windows устанавливает Windows Power Shell мажорной версией до 5, однако предлагает перейти на новую версию – 7-ку, имеющую принципиальное отличие (вероятно, начинающееся с 6-ки) – кроссплатформенность. Terminal – также отдельно уставливаемое приложение, по сути интегратор всех ранее установленных оболочек PowerShell и командной строки.

Отдельным видом консоли можно считать консоль отладки Visual Studio (CMD-D).

Инструкция

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

  • Для операционных систем семейства Windows основными являются два варианта сочетания клавиш: Ctrl Shift и Alt Shift. Вам достаточно выбрать один из предложенных вариантов, чтобы переключить раскладку в командной строке. Однако, существуют различные программы, которые могут дополнить функциональность вашей системы, например, Punto Switcher.
  • В некоторых случаях вы можете столкнуться с проблемой переключения языка в оконных приложениях. Для решения этой проблемы необходимо попеременно использовать левый Alt Shift (английская раскладка) и правый Alt Shift (русская раскладка). Также эти параметры можно изменить, открыв апплет «Язык и региональные стандарты».
  • Откройте меню «Пуск» и нажмите на «Панель управления». В появившемся окне дважды щелкните на значке «Язык и региональные стандарты». Перейдите к вкладке «Языки» и нажмите кнопку «Подробно». Затем нажмите кнопки «Параметры клавиатуры» и «Смена сочетаний клавиш».
  • В открывшемся окне «Дополнительные параметры клавиатуры» смените сочетание клавиш для всех раскладок, установленных в системе. Также вы можете для каждой раскладки задать свое сочетание, которое не используется другими программами. Выделите нужную строку, нажмите кнопку «Смена сочетаний». Поставьте галочку на пункте «Использовать…» и выберите нужные клавиши. Затем несколько раз нажмите кнопки «ОК».
  • Для операционных систем семейства Linux действует то же правило, но количество вариантов сочетаний клавиш значительно больше. Чтобы сменить клавиатурные сочетания, необходимо открыть меню «Система», выбрать пункты «Параметры» и «Клавиатура». В открывшемся окне нажмите кнопку «Параметры» и раскройте список «Клавиши для смены раскладки».
  • Конфликт кодировок

    Полностью локализованная консоль в идеале должна поддерживать все мыслимые и немыслимые кодировки приложений, включая свои собственные команды и команды Windows, меняя “на лету” кодовые страницы потоков ввода и вывода. Задача нетривиальная, а иногда и невозможная – кодовые страницы DOS (CP437, CP866) плохо совмещаются с кодовыми страницами Windows и Unicode.

    Локализация отладочной консоли visual studio

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

    На самом деле, правильнее говорить о локализации приложения в консоли – это важное уточнение. Microsoft по этому поводу высказывается недвусмысленно: “Programs that you start after you assign a new code page use the new code page. However, programs (except Cmd.exe) that you started before assigning the new code page will continue to use the original code page”.

    Иными словами, консоль можно локализовать когда угодно и как угодно, но приложение будет локализовано в момент стабилизации взаимодействия с консолью в соответствии с текущей локализацией консоли, и эта локализация сохранится до завершения работы приложения. В связи с этим возникает вопрос – в какой момент окончательно устанавливается связь консоли и приложения?

    Важно! Приложение окончательно стабилизирует взаимодействие с консолью в момент начала ввода-вывода в консоль, благодаря чему и появляется возможность программного управления локализацией приложения в консоли – до первого оператора ввода-вывода.

    Ниже приведен пример вывода тестового приложения в консоль, иллюстрирующий изложенное. Метод Write получает номера текущих страниц, устанавливает новые кодовые страницы вводного и выводного потоков, выполняет чтение с консоли и записывает выводную строку, содержащий русский текст, в том числе считанный с консоли, обратно в консоль. Операция повторяется несколько раз для всех основных кодовых страниц, упомянутых ранее.

    F:LoggingConsole.TestbinReleasenet5.0>chcp
    Active code page: 1251
    
    F:LoggingConsole.TestbinReleasenet5.0>loggingconsole.test
    Codepages: current 1251:1251, setted 437:437, ΓΓεΣΦ∞ 5 ±Φ∞ΓεδεΓ ∩ε-≡≤±±ΩΦ: Θ÷≤Ωσ=Θ÷≤Ωσ
    Codepages: current 437:437, setted 65001:65001,  5  -: =
    Codepages: current 65001:65001, setted 1252:1252, ââîäèì 5 ñèìâîëîâ ïî-ðóññêè: éöóêå=éöóêå
    Codepages: current 1252:1252, setted 1251:1251, вводим 5 символов по-русски: йцуке=йцуке
    Codepages: current 1251:1251, setted 866:866, ттюфшь 5 ёшьтюыют яю-Ёєёёъш: щЎєъх=щЎєъх
    Codepages: current 866:866, setted 1251:1251, вводим 5 символов по-русски: йцуке=йцуке
    Codepages: current 1251:1251, setted 1252:1252, ââîäèì 5 ñèìâîëîâ ïî-ðóññêè: éöóêå=éöóêå
    
    F:LoggingConsole.TestbinReleasenet5.0>chcp
    Active code page: 1252
    • приложение запущено в консоли с кодовыми страницами 1251 (строка 2);

    • приложение меняет кодовые страницы консоли (current, setted);

    • приложение остановлено в консоли с кодовыми страницами 1252 (строка 11, setted);

    • по окончании работы приложения изменения консоли сохраняются (строка 14 – Active codepage 1252);

    • Приложение адекватно локализовано только в случае совпадения текущих кодовых страниц консоли (setted 1251:1251) с начальными кодовыми страницами (строки 8 и 10).

    Код тестового приложения под катом

    Программное управление кодировками консоли – это единственный способ гарантированной адекватной локализацией приложения в консоли. Языки .Net такой возможности не предоставляют, однако предоставляют функции WinAPI: SetConsoleCP(uint numcp) и SetConsoleOutputCP(uint numcp), где numcp – номер кодовой страницы потоков ввода и вывода соответственно.

    Совет 7. Обязательный и повторный! Функции SetConsoleCP должны размещаться в коде до первого оператора ввода-вывода в консоль.

    Проблемы консолей visual studio

    В Visual Studio имеется возможность подключения консолей, по умолчанию подключены командная строка для разработчика и Windows PowerShell для разработчика. К достоинствам можно отнести возможности определения собственных параметров консоли, отдельных от общесистемных, а также запуск консоли непосредственно в директории разработки.

    Отдельной опцией Visual Studio является встроенная односеансная консоль отладки, которая перехватывает команду Visual Studio на запуск приложения, запускается сама, ожидает компиляцию приложения, запускает его и отдает ему управление. Таким образом, отладочная консоль в течение всего рабочего сеанса находится под управлением приложения и возможность использования команд Windows или самой консоли, включая команду CHCP, не предусмотрена.

    Совет 6. Тестирование приложения целесообразно выполнять во внешних консолях, более дружелюбных к локализации.

    Анализ проблем консолей был бы не полон без ответа на вопрос – можно ли запустить консольное приложение без консоли? Можно – любой файл “.exe” запустится двойным кликом, и даже откроется окно приложения. Однако консольное приложение, по крайней мере однопоточное, по двойному клику запустится, но консольный режим не поддержит – все консольные вводы-выводы будут проигнорированы, и приложение завершится

    Стратегия локализации приложения в консоли

    1. Удалить приложение PowerShell (если установлено), сохранив Windows PowerShell;

    2. Установить в качестве кодовую страницу консоли по умолчанию CP65001 (utf-8 Unicode) или CP1251 (Windows-1251-Cyr), см. совет 5;

    3. Разработку приложений выполнять в кодировке utf-8 Unicode;

    4. Контролировать кодировку файлов исходных кодов, текстовых файлов данных, например с помощью Notepad ;

    5. Реализовать программное управление локализацией приложения в консоли, пример ниже под катом:

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

    Понравилась статья? Поделить с друзьями:
  • Как изменить язык на амазоне
  • Как изменить язык на альт шифт
  • Как изменить язык на алиэкспресс на английский
  • Как изменить язык на айфоне ios 16
  • Как изменить язык на айфоне 2023