/ language

How to switch to different languages in macOS?

Warning: Currently Karabiner doesn't work in macOS Sierra. This tip works before or on El Capitan.


Switching to different languages might sound tedious at first, but actually, it is so simple; just assign a keyboard shortcut to each language👲

For example, since we have two command keys on our keyboard, assign the left command key to the switch to English and the right to Simplified Chinese. Because using the software like Karabiner enables us to let the defined shortcut be functional only if the key is pushed independently, there is nothing like a collision with another shortcut combination such as +S for saving.

That being said, then how can you deal with a situation where you have to use more than two languages in your system?

The short answer: Just switch from the menubar

It is the most plain and easy to understand. It is a built-in functionality and hence more stable and consistent than anything. However, it is insufferably tiresome to bother to moving the cursor to the top-right corner of the screen, tapping on the icon in the menubar, switching to the target language, and then finally going back to the typing, and then switching back to the different language again and again...

The better solution: Use Karabiner, again

It lets you define whatever customized shortcut combinations you prefer, like +Q to open Terminal. I have defined ++C to switch the language to Simplified Chinese and ++R to Russian. It takes slightly more tedious work to define your own shortcut combinations but still gives you far more rewards than otherwise.


Even if you don't use multiple languages you could still enjoy the software. I also assign +K to the upper arrow, +J to the lower arrow, and +S to delete the character in the current cursor. For more information, check out the official documentation on the project page.