Many of use use more than one language when we work on our computers. In previous Microsoft operating systems such as Windows XP, Vista, or 7 (and even on server operating systems such as Windows Server 2003, 2008, 2008 R2), when you added another language, you could easily select a language by using either the left or right ATL+SHIFT combo keys, and combining it with the left or right CTRL+SHIFT combo key (this would also justify the text-writing direction from left to right in case of an RTL language such as Arabic or Hebrew). So far so good, right? However, Microsoft has introduced a in Windows 8 “feature” that may drive you nuts. I know it drove me crazy, and this led to a numerous number of colleagues asking me for a solution to set per-application languages in Windows 8.
Per-Application Languages in Windows 8: The Problem
Here’s a for-instance: In Windows XP or Windows 7, once you installed another language (for example – Install Hebrew on Windows XP and Install Hebrew Fonts on Windows 7), the default system locale (say, English) would be “in charge” for all system-wide typing. For example, you could switch to Hebrew when typing an e-mail, a Word document, or a blog post in IE, but once you clicked on the Win Logo key or pressed on the Start button and began typing to do a search, it would return to the default language. For example, you could type in Hebrew in one application (i.e. Outlook, Internet Explorer, Notepad, Firefox, Chrome, etc.), but whenever you moved your mouse on to a system-related application – say, to the Start menu, to the Run command, or to a Command Prompt window – the default system English language would automatically be switched on, and you would type in English.
However, in Windows 8 and in Windows Server 2012 this does not seem to be the case. Once you install an additional language (for example: Install and use Hebrew fonts on Windows 8), once you switch to Hebrew (or any other non-English language), that language stays selected even for system settings, such as the Start window. And because there’s no visual indication of the selected language in the Start window, you won’t know what language you’re typing in until you start typing. For example, instead of typing “Control Panel” you find that you actually typed “בםמארםך פשמקך.” You see the same behavior in other places that used to automatically get the default language back, such as the Run command or even the Command Prompt.
For example, if you did not pay attention, this is what typing “cmd” in the Run command would look like, resulting in the error message underneath.
Or, typing “Ping 127.0.0.1” in command prompt:
This tends to annoy a lot of people, as you find that you typed something and then you have to change your language and retype it.
“So? Who cares?” you may ask yourself at this moment. Well, anybody that’s using more than one language will care, and basically that’s most of the world’s computer users (excluding of course those that only use English).
Per-Application Languages in Windows 8: The Solution
First, install any additional language on your English-default Windows 8. For example, Install and use Hebrew fonts on Windows 8.
Once the other language is installed, open the Language applet from Control Panel.
Click on Advanced settings.
In the Advanced settings window, go to the “switching input methods” section. There, click to select checkbox for Let me set a different input method for each app window, as shown below.
Bingo. Now the system remembers your chosen language in each app. As long as you do not switch to Hebrew (for example) in the Start screen, in the command Prompt window, in the Run command, etc., it will stay in English, allowing you to easily type in whatever command or app name you needed.
To conclude, unless you make the suggested change in Windows 8 or Windows Server 2012, you may find yourself typing in the wrong language in another application. This change fixes this issue once and for all.