Brief: This article shows you how to type in Hindi in Ubuntu. Same steps will allow you to type in other Indian languages on Ubuntu Linux.
I’m sure that there are a lot of different languages worldwide. But, did you know that India has 22 major languages? Almost all the Linux distros provide support for most Indian languages — but typing is where the issue arises.
There are several keyboard layouts available for various languages and you may have to invest some time to master them.
At this point, I would like to add that using online Google Transliteration service is a lot better for occasional typing because it gives you the option to choose the words. There are a few downsides that it needs you to be connected to the internet and you may have to copy-paste from one place to another.
If you plan to type in your language regularly and may not always be connected to the internet, you should install the dedicated keyboard input.
I’ll try to help you with typing in Indian languages on Linux with a few tips. It may not be perfect but it does give you some ideas and direction.
I’ll be using Hindi in the example here. You may follow similar steps to write in Bangla, Marathi, Gujarati, Tamil, Kannada, Telugu and other Indian languages.
Type in Hindi and other Indian languages on Ubuntu Linux
There are two main types of keyboards you’ll find.
This is the actual keyboard layout with dedicated keys for the alphabets. However, if you don’t see the keys, it’s difficult to figure out how to type them properly. But once you master it, typing is much faster. Here’s an image of the KaGaPa Hindi keyboard layout that you may find in Ubuntu.
Transliteration keyboards are something that let you type in English, i.e. Roman Hindi, transliterate them phonetically to the selected target language immediately. It’s easier because you use the regular English alphabets here.
However, the transliteration keyboards in Linux do not give you the option to choose between various possible words like Google does. This is a pain because then you need to know the keyboard shortcuts to correctly type the intended words.
In other words, you have to make a compromise and keep the keyboard layout saved on your system to refer to it, specially when you are new to these keys.
Here’s what you need to do.
The Intelligent Input Bus (IBus) is an input method framework for multilingual input in Unix-like operating systems. It’s called “Bus” because it has a bus-like architecture.
You can use IBus to type in your own language in most GUI applications.
Here, we will be using IBus to transliterate English to Indian regional languages i.e Hindi (to be specific).
Step 1: Install and set up IBus
Open the terminal (ctrl+alt+t) and run the below command
sudo apt install ibus-m17n
That’s it. Now add IBus to your startup applications.
Open Startup Applications app. Once launched, you need to click on Add. Fill the details as shown in the screenshot below.
For the Name and Comment box, you can set your desired text. But the Command box is important.
So for that you can just copy-paste the text below (as shown in the screenshot below):
Log out and log back in to refresh the session.
Step 2: Adding languages to keyboard
Go to Settings >> Region & Language.
Now use the ‘+‘ below the “Input sources to use” to add your desired language.
You will now be asked ‘Add an input source‘, just click on 3 vertical dotted button to proceed.
Next, search for any language like ‘Hindi’, or the language you want to use. Click on ‘Other‘ to find the languages listed.
Once you find the languages listed, select any of them (here, Hindi phonetic) and click on the “Add” button.
For example, I chose the KaGaPa Phonetic keyboard in the screenshot below. You could have chosen iTrans if you wanted the transliteration keyboard.
Finally, you can see that our selected language has been added to the list of input sources.
Step 3: Add the language to the system
In addition to installing IBus, you also need to install the desired language to the system. This can be done easily from the settings.
From within the “Region and Language” menu, click on “Manage installed Languages“.
Next, you will notice “Language Support” window. Here, you need to click on “Install/Remove Languages”.
Now, all you have to do is search for your language, select it and hit “Apply“.
You may have to restart your system for the changes to taken into effect.
Step 4: Typing in Indian languages on Ubuntu
By default, English will be your typing language. You can change the keyboard by accessing the available keyboards from the top panel.
You can also use keyboard shortcuts in Ubuntu to change the keyboards. Press Super key (Windows key) + Space or Super key + Shift+ Space to select the next language that you added. If you added multiple languages, you may need to press Super + Space multiple times to check the transliteration language.
For phonetic keyboard, you can always refer to the keyboard layout if you forget the keys. You can display the layout for the currently selected keyboard from the top panel.
Looking at the above keyboard layout, if you have to write the word संस्कृत, you’ll have to press sMsfkRt keys in quick succession.
If you chose the iTrans transliteration keyboard, you won’t get the access to layout because it works on English keyboard itself. I have found this webpage which you may bookmark or print for quick access. It shows the key combination for special keyboards. I am sharing the screenshot for your reference.
With this iTrans key, if you have to संस्कृत, you’ll need to type saMskRta keys in quick succession.
As you can see, it requires some time, effort and patience but it’s not an impossible job even if it’s not very convenient.
On a similar note, you may also want to read about typing Indian rupee symbol ₹ on Ubuntu.
If you found this article useful, do share it along to help more people. Also, feel free to let me know your thoughts in the comments below.