stars
(c)

Change Non-English Command Line Interface to English Fast

(閱讀中文版)
englishize-cmd-1-result
"Bilingual command prompt: Upper has Englishize Cmd applied (changed to English); lower has it restored (to original language)."

[2014-05-13] Update:Version 1.7a is out. A quick fix to patch the recently updated restore.bat which launched incorrect batch script during elevation.

List of features

  1. Toggles between English and non-English for most 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.
  5. Better character compatibility than changing DOS codepage.
  6. Most languages and executables are supported. Customizable.
  7. Administrator rights are required. It asks for rights to elevates itself.
    (Does not elevate over network mapped drives)
  8. Windows Vista/7 or later only.

Why the need

englishize-cmd-2-shortcut
"437 = English codepage."

Somebody recently asked in the 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 (become questions marks ????). Also, the former method requires typing "chcp 437" everytime (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 7 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 simple 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 versions cannot officially install MUI).

The concept

Upon invertigation 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 rename (deletion works but not suggested) the .mui file in zh-TW to something else so that it just falls back to using the one in en-US? Now I can confirm 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: Englishize.bat; lower: Restore.bat"

Instructions

"Englishize Cmd" comes with 4 files:

  1. "Englishize.bat" for changing command line tools from non-English to English.
  2. "Restore.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 "Englishize.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 Englishize.bat."

Video demonstrating Englishize Cmd

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.

Suggestions

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

Release history / Downloads

Ver Date Update MD5
1.7a 20140513 A quick fix to patch the recently updated restore.bat 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. Restore.bat 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

Download latest Englishize Cmd here [Or here]

You may bookmark or share this article using the following:


Share/Bookmark

15 comments :

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

    ReplyDelete
    Replies
    1. Very Nice and Informative Post. Thank admin for sharing such an amazing post.

      --->>Dwonload All Windows RUN Commands in one PDF!

      Delete
  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
    2. This comment has been removed by the author.

      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