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, 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.

Also on Chocolatey: choco install englishizecmd / winget: winget install englishizecmd


englishize-cmd-1-result
"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 no longer included for the German release of Windows 10 since 1809. This doesn't seem to affect other countries or regions. For details and a workaround, refer to the comment section below or this comment.

List of Features

  1. Toggles between English and non-English for many Windows commands.
  2. For English system admins who manages Windows PCs of other languages.
  3. No need to log off; settings are appled immediately.
  4. Comes with a restorer. Apply or restore is as simple as a click or typing 'EnglishizeCmd' and 'RestoreCmd' commands.
  5. Better character compatibility than changing DOS codepage.
  6. Many languages and executables are supported. Customizable.
  7. Ensure the outputs which your scripts catch are always in English.
  8. Administrator rights are required. It asks for rights to elevates itself. (Does not elevate over network mapped drives.)
  9. Parameter '/quiet' can be used to suppress confirmation messages for unattended usage. (Only works when existing Command Prompt is run elevated.)
  10. Supports Windows Vista and later, as well as their server versions only, including Windows 10 or Windows Server 2019
  11. Portable by default. Optional installer enables 'EnglishizeCmd' and 'RestoreCmd' commands globally in Command Prompt and Run Prompt. (The commands including the extensions would be 'EnglishizeCmd.bat' and 'RestoreCmd.bat')

Background

englishize-cmd-2-shortcut
"437 = English codepage."
Somebody recently asked in a discussion group how to use all built-in command-line tools in English in non-English Windows, as they are localized to another language which can be a nightmare for system administrators who only speak English. People shared various ways such as 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.

Unfortunately both methods could make non-English characters non-displayable (becoming questions marks ????). Also, 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.
englishize-cmd-3-ipconfig-2
"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 don't like the fact the command line interface is 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, don't forget the fact that non-Ultimate/Enterprise editions of Windows cannot officially install MUI).

Concept (Temporary Language File Renaming)

Upon investigation with Sysinternals Process Monitor, I noticed 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. Then an idea came: 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 this 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) I wrote to automate this tiresome process so that changing back and forth from English to non-English is easier.

englishize-cmd-4-startup
"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.
  3. englishize-cmd-5-docs
    "Left: _files_to_process.txt; right: _lang_codes.txt. Note not all executables exist. (e.g. Cd.exe)"
  4. "_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.
  5. "_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 and 7 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 Vistalizator (for non-Ultimate/Enterprise Windows users).
englishize-cmd-6-during-process-2
"Interestingly, there is a point where both languages are shown while processing EnglishizeCmd.bat."

TipIf 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



(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.

Suggestions

Have you found a bug or got a suggestion? Please drop me a line here.

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.

⭐ Download Englishize Cmd and its source code on Microsoft TechNet Gallery or GitHub .

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

Ver Date Update MD5
2.0 20200705 - Added the option to install (and uninstall) Englishize Cmd into system for ease of use, alongside existing portable option.
- Fix (remove) EnableLUA debug message displayed during UAC elevation.
- Improved elevation mechanism so that it supports Run prompt.
- Append 'Cmd' to commands, i.e. 'EngishizeCmd' and 'RestoreCmd'.
- Add support for '/quiet' parameter for unattended usage (suppress 'pause' messages)
Refer to GitHub Releases
1.7a 20140513 A quick fix to patch the recently updated restoration script which launched incorrect batch script during elevation. c0b89ec00a51403db6afc650cc4dba16
1.7 20140511 Fixes non-stop prompting when run as standard user w/o UAC. 6ae00a4461d0946d38f442e279c416fe
1.6a 20140105 A quick fix to improve the last version. 72a3fe23d386d400f0b6d7d31b0562d7
1.6 20140105 1. Fixed bug in some non-English localized versions of Windows where 'Administrators' group account is named something else. Thanks Markus (echalone).
2. Confirmed working in Windows 8.1.
0f45d9df16c9597a58804103fc0b492e
1.5 20130215 1. Support for mui files under %systemroot%\syswow64.
2. Restoration script now restores original permissions and ownership (TrustedInstaller).
3. Confirmed working in Windows 8. Updated with new CLI tools.
8f6a103cad75167408f7dce43460eff9
1.4a 20120408 Fixed "_lang_codes.txt". It should not contain any en-XX languages; otherwise, even English is disabled. 6793d377acd497643a9c762d3fed6c81
1.4 20120407 Improved "_lang_codes.txt" so that all system languages are supported. (Please report if your locale is not included) dc458d3e02d72956a61021bb0d90c2ff
1.3 20100428 Now asks for elevation automatically.
Added check for Windows version.
2312bb99d93915a7645237dbb1de2191
1.2 20100420 Documentation and coding improvements b25aa93e43577b3209f4aa57d9966e60
1.1 20100416 Added check for admin rights d4082b73326963ecf17f4801106bc371
1.0 20100401 First public release d8f0e80c6c6fc9f03629aab911f102ee

Welcome to support this project by buying a cup of coffee if this tool is useful to you. 😊 Thanks!

You may bookmark or share this article using the following:

Comments

  1. Hello, Englishize doesn't work for me. Windows 7 64bit Polish (pl) rofroldeletitplease@gmail.com

    ReplyDelete
  2. Hi,

    Could you please use PSR (problem steps recorder) to record a run of Englishize Cmd and send me the .mht file PSR generates at the end?

    PS: for help on using PSR, please see: http://technet.microsoft.com/en-us/windows/dd320286

    ReplyDelete
  3. To anyone having the same issue: The bug was fixed in version 1.4.

    ReplyDelete
  4. could you advise me what to do with the same problem on win XP???

    ReplyDelete
    Replies
    1. Hi. I'm running out of time for a reply but I'll do my best.

      There is no way officially, because only *English* Windows XP *Professional* supports the MUI packs.

      For other languages, I just came up with a thought: How about we workaround by copying the exes (e.g. taskkill, getmac.exe) from an English system to the target non-English system to run?

      I just tried it. It works for some exes but not all. Those that works (taskkill.exe, getmac.exe) display messages in English, while those that don't (find.exe, fc.exe) still display messages in the native language.

      Reminder: For security and stability reasons, do not replace the exes. Instead, run the English ones in a separate path.

      Delete
  5. Hi. After running Englishize, commands like ipconfig works fine in English, but it doesn't work for the chddsk command. I am running Win 7 Ultimate in Chinese. Please advise.

    ReplyDelete
    Replies
    1. Hi,

      As stated in pt. 6 in 'List of Features', Englishize Cmd works for most commands but does not work for a few. This is a limitation of this technique.

      As a workaround, you may use 'chcp 437'.

      If you are only looking for help on using the command (i.e. /?), instead of performing 'chkdsk /?' (for example), you may try a specially crafted command prompt (ECPP) I created which supports 'man' and 'man2' command (i.e. manual) that display a more detailed command line reference in English.

      See here a screenshot how it works:
      http://goo.gl/photos/bQqbxzTyPj

      I haven't publicly released a version that support this feature yet. If you want to beta-test that, feel free to send me an email at gmail.com.

      Regards,
      wandersick

      Delete
  6. Good evening how a about the other way around. I'm using English version win 7 sp1 already I want it to be in Japaneses ... Can you tell me how??? Because I have kanji batch scrip I receive from friend in japan whenever I lunch it the character is mess up ... then close batch automatically ..

    ReplyDelete
    Replies
    1. Hi sasuke,

      In your case, you just have to change the "Language for non-Unicode programs" setting from English to Japanese in "Control Panel > Region and Language".

      Here's a user guide for that:
      http://www.coscom.co.jp/learnjapanese801/japanesefont/nonunicode_win7.html

      Hope that helps.

      wandersick

      Delete
  7. hi there im using win 8 italian language how can i change it into english

    ReplyDelete
    Replies
    1. Hi. If you mean the whole system user interface (instead of only commands-line tools), then the above method is not for you. What you need is to follow the instructions in this guide to install the official English language pack: http://support.microsoft.com/kb/2607607

      Delete
  8. Hey there!

    I have a german Windows 7 x64 and it didn't work for me at first. I analyzed it and recognized that cacls tries to give the rights to the group administrators, which didn't exist because in the german Windows version its administratoren... but I changed every occurrence of administrators to %USERNAME% in englishize and restore and that worked just fine.
    Sadly the command "net use" wasn't translated, so I actually couldn't use it in the end... still, maybe my little adventure might be of some use to you ;)

    Best regards,
    Markus

    ReplyDelete
    Replies
    1. Markus,

      That's informative. Thanks so much!

      I've fixed the problem and updated the utility to new version 1.6. Feel free to give it a try!

      Best Regards,
      wandersick

      Delete
  9. Englishize Cmd has been tested on Windows 10 editions until the latest LTSB, Windows 10 1607 x64, and confirmed to work. As there are many versions of Windows 10, your mileage may vary though :)

    ReplyDelete
  10. Hello, I tried to use your program in Window 7 Professional with German language. It does not work for me. Is there anything to do?
    Ty.

    ReplyDelete
    Replies
    1. Hi Nam,

      The problem with German Windows systems was fixed in v1.6 years ago thanks to the message from another German reader, echalone (left here on January 4, 2014). He successfully used Englishize Cmd to translate applications that Englishize Cmd supports (e.g. ipconfig, robocopy), except those that are not supported due to limitations of some commands, e.g. "net use".

      Therefore, could you please provide more details by describing what you are trying to do and how it does not work? For example, commands you are trying to run and any error messages? You may email screenshots to me ([put_my_name_here]@googlemail.com).

      Thanks,
      wandersick

      Delete
  11. Hello,
    great script! We are using it since the beginning of windows 10, but unfortunately it doesn't work anymore for us (German to English CMD) with the 1809 Version of Windows 10.

    ReplyDelete
  12. (The below has been emailed to the original question owner a long time ago. I forgot I still had to answer the question in the comment section of this blog article, so here it comes!)

    Thanks for emailing a detailed problem report to me. After my test using your German Windows 10 1809 ISO, I see that Microsoft should have stopped including certain en-US files (e.g. ipconfig.exe.mui) for the German release of Windows 10 1809.

    Please find the workarounds as follows. (For readers out there, if you have any ideas too, feel free to comment.)

    Method 1. Copying missing MUI files from an English OS

    Steps
    a. Copy e.g. ipconfig.mui.exe from an English version of Windows 10 1809* (CPU architecture has to match, i.e. either x64 or x86)
    b. Run Englishize Cmd (as usual)

    I tried this and it works – ipconfig command was successfully run in English on German Win 10 Pro 1809.

    *To acquire the latest English version of Windows 10, a way is go to download the trial version from Microsoft at https://www.microsoft.com/en-us/evalcenter/evaluate-windows-10-enterprise. However, this may not be the version you need, so you would have to look elsewhere.

    Method 2. Installing English Windows 10 and German language pack

    Another workaround I can think of is to install the English version of Windows 10 1809 first and then install German language pack next (instead of German version of Windows 10 1809 and then English language pack).

    That way, you will get the en-US .mui language files.

    Other notes

    - I found that this issue does not affect my mother language, as I just installed a Taiwan version of Win 10 1903 for testing and it still includes en-US ipconfig.exe.mui.
    - Maybe the German Windows 10 team of Microsoft forgot to do this for the 1809 version? :)
    - If you have time, you may leave a friendly message to the German team of Microsoft, consulting them why :)
    - This is the official German Windows 10 forum of Microsoft: https://social.technet.microsoft.com/Forums/de-DE/home?category=Windows10ITPro

    BTW, I may consider doing a minor update of the Englishize Cmd to v1.7b or something (or simply updating the blog post) to remind users of this issue and the workarounds above.

    Kindly let me know if you think of anything else :)

    Regards,
    wandersick

    ReplyDelete
  13. I just downloaded englishize.bat. It's a very useful app. Thanks.

    Will the command:
    icacls "!destination!\*.txt" /deny everyone:(d,wdac) /c
    work on a japanese windows 10 pc? Or should I replace "everyone" with its SID which is *s-1-1-0?

    I got the information from https://ss64.com/nt/icacls.html

    ReplyDelete
    Replies
    1. Hi Jimwell,

      Thanks for your question. Using SID instead of "Everyone" sounds like a nice idea to make things work across regions, as I don't know if there are Windows editions or regions where "Everyone" is translated to the localized language where commands involving the use of "Everyone" would not work.

      Good luck!

      Delete

Post a Comment