Englishize Cmd — Change Non-English Command Line Interface to English Fast
There often comes a need to use built-in command-line tools in English in non-English Windows. Englishize Cmd ‘englishize’ CLI tools…
There often comes a need to use built-in command-line tools in English in non-English Windows, as they are localized to another language which can be difficult for admins who only speak English. ‘Englishize Cmd’ employs a different technique to ‘englishize’ CLI tools with a click.
[Go to Download]
Also on Chocolatey: choco install englishizecmd
/ winget: winget install englishizecmd
Figure 1. Bilingual command prompt: Upper has Englishize Cmd applied (changed to English); lower has it restored (to original language).
[2019–05–13] Update: As reported by a German user (thanks), some en-US files (e.g. ipconfig.exe.mui) are not included in the German release of Windows 10 since 1809. This doesn’t seem to affect other countries or regions. For details and workarounds, refer to this comment.
[2021–03–27] Update: Continued from the above, another German user reported an issue with the German 2004 version of Windows 10. In German Windows 10 2004, not only those files do not exist, but that putting the files back do not work. Again, this doesn’t seem to affect other countries or regions. For a workaround, refer to this GitHub issue.
List of Features
Toggles between English and non-English for many Windows commands
For English system admins who manages Windows PCs of other languages
No need to log off; settings are appled immediately
Comes with a restorer. Apply or restore is as simple as a click or typing
EnglishizeCmd
andRestoreCmd
commandsBetter character compatibility than changing DOS codepage
Many languages and executables are supported. Customizable
Ensure the outputs which your scripts catch are always in English
Administrator rights are required. It asks for rights to elevates itself (Does not elevate over network mapped drives)
Parameter
/quiet
can be used to suppress confirmation messages for unattended usage. (Only works when existing Command Prompt is run elevated)Supports Windows Vista and later, as well as their server versions only, including Windows 10 or Windows Server 2019
Portable by default. Optional installer enables
EnglishizeCmd
andRestoreCmd
commands globally in Command Prompt and Run prompt. (The commands including the extensions would beEnglishizeCmd.bat
andRestoreCmd.bat
)
Background
Occasionally, there comes a need to use built-in command-line tools in English in non-English Windows, as they are localized to another language which can be difficult to use for system administrators who only speak English. There are a number of workarounds focusing around entering chcp 437
, which is the English codepage, prior to running a command. Or, creating a shortcut to cmd.exe and setting in its properties the “Current Codepage” setting to 437.
Figure 2. 437 = English codepage
Unfortunately, both methods could make non-English characters non-displayable (becoming questions marks ???? as shown in the picture below). In addition, the former method requires typing chcp 437
every time (although it can be configured to automatically do so in “HKLM\SOFTWARE\Microsoft\Command Processor\AutoRun” registry key), while the latter is limited to shortcuts. So I thought it would be useful to share this method which employs a different technique.
Figure 3. Changing codepage turns non-English characters into question marks
For command line programs, Non-English versions of Windows Vista and later actually ship with both English and non-English MUIs (Multilingual User Interface). That means if we cannot get used to command line interface being localized and shown in non-English (e.g. Chinese Taiwan, i.e. zh-TW), in some simpler way we must be able to set it to English without totally switching to a English user account in Regional Options then reboot the PC. (BTW, non-Ultimate/non-Enterprise editions of Windows does not officially allow installing MUI).
Concept (Temporary Language File Renaming)
Investigation using Sysinternals Process Monitor reveals that, whenever Windows fails to locate a .exe.mui file in any zh-TW directory, it falls back to locating the .exe.mui in en-US. Comes the concept of Englishize Cmd: Why not temporarily rename the .mui file in zh-TW to something else so that it just falls back to using the one in en-US? Now it has been confirmed the technique works, except that it is a lot of work deciding which system files can be renamed, unprotecting those files as they are protected by WRP (Windows Resource Protection), renaming every single command-line executable… Comes “Englishize Cmd” for this. “Englishize Cmd” is a simple customizable program (batch script) written to automate this tiresome process so that changing back and forth from English to non-English is easier.
Figure 4. Upper: EnglishizeCmd.bat; lower: RestoreCmd.bat
Instructions
“Englishize Cmd” comes with 4 files:
1. “EnglishizeCmd.bat” for changing command line tools from non-English to English.
2. “RestoreCmd.bat” to restore everything back to original language, including original permissions and ownerships.
- Figure 5. Left: _files_to_process.txt; right: _lang_codes.txt. Note not all executables exist. (e.g. Cd.exe)
3. “_lang_codes.txt” is a modifiable list containing all non-English language codes. It includes most languages but in case your language is not there, add it and “Englishize Cmd” will support it.
4. “_files_to_process.txt” is a modifiable list of file names of command-line executables that will be affected in the change. All commands in Windows Vista, 7 and 8.1 should be covered (although it contains much more commands than there actually are, it doesn’t matter because it has no effect on commands that don’t exist.) If you decide some commands are better left localized rather than being changed to English, remove them from this list before running EnglishizeCmd.bat
. Also, although the list covers command-line executables, you can add GUI — Graphical User Interface — programs such as Paint — mspaint.exe and lots of others to “_files_to_process.txt”. There is a limitation here though. Windows comes with both English and non-English .mui files for command-line programs only; by default .mui for GUI programs don’t exist in en-US folder until users install the English MUI through Windows Update) or some third-party tool (for non-Ultimate/Enterprise Windows users).
- Figure 6. Interestingly, there is a point where both languages are shown while processing EnglishizeCmd.bat
Tip: If Englishize Cmd is installed in the computer (instead of using it the portable way), the above files would be located in either %ProgramFiles(x86)%\wandersick\EnglishizeCmd
(for an all-user setup) or %LocalAppData%\wandersick\EnglishizeCmd
(for a per-user setup)
Video Demonstrating Englishize Cmd
https://www.youtube.com/watch?v=bnHCJ0tSvXg
(Tip: Turn on captions to understand better)
Safety Design
Englishize Cmd has been designed with safety in mind; it does not allow a .mui to be disabled when its en-US counterpart is not found, in order to prevent from causing system problems. On the other hand, ‘RestoreCmd.bat’ restores original permission and ownership information in addition to renaming language files back to original file names. It is recommended to run ‘RestoreCmd.bat’ after use to fall back to original configuration at once. Next time, when it is desired to use Englishize Cmd, simply repeat the procedure of running ‘EnglishizeCmd.bat’ and ‘RestoreCmd.bat’ again.
Download
Over the years, Englishize Cmd has been seen referenced by or integrated in several projects by others. Feel free to continue doing so, and thanks for linking back even if it is optional.
⭐ The latest release of Englishize Cmd can be downloaded from its homepage.
Word of Mouth
Below are some of the kind comments left by users of the script. (Thanks!)
“You provide a really great script. It saved my life because we here at school need the English commands in cmd with German OS language in Windows 10.”
“It’s a very useful app. Thanks.”
“Your script is awesome!”
“I just can’t thank you enough for your efforts! I really appreciate it. You helped a lot!”
The homepage of Englishize Cmd has also been referenced by Microsoft Support for the discovered technique of renaming .mui files.
Englishize Cmd has been seen referenced by or integrated in several projects by others, such as NetChecker by HakerDefo and Xbox One Disk Partitioning Script by XFiX.
(If you find any additional projects or interesting usage leveraging Englishize Cmd, feel free to let me know!)
Release History
Welcome to buy me a cup of coffee ☕ if this tool is useful to you. 😊 Thanks!
Originally published at https://tech.wandersick.com on April 28, 2010.