For those who don't know, there are hundreds of spoken languages in India. Among them, 22 languages are listed as official languages in Indian constitution. I am not a native English speaker, so I often use Google translate if I ever needed to type and/or translate something from English to my native language, which is Tamil. Well, I guess I don't need to rely on Google translate anymore. I just found way to type in Indian languages on Ubuntu. This guide explains how to setup multilingual input method on Ubuntu operating systems.
This guide is officially tested on Ubuntu 18.04 LTS. However, it might work on other Ubuntu versions and Ubuntu variants like Linux mint, Elementary OS and Pop OS.
Setup multilingual input method on Ubuntu Linux
With the help of IBus, we can easily setup multilingual input method on Ubuntu and its derivatives. Ibus, stands for Intelligent Input Bus, is an input method framework for multilingual input in Unix-like operating systems. It allows us to type in our native language in most GUI applications, for example LibreOffice.
Install IBus On Ubuntu
To install IBus package on Ubuntu, run:
$ sudo apt install ibus-m17n
The Ibus-m17n package provides a lot of Indian and other countries languages including amharic, arabic, armenian, assamese, athapascan languages, belarusian, bengali, burmese, central khmer, chamic languages, chinese, cree, croatian, czech, danish, divehi, dhivehi, maldivian, esperanto, french, georgian, ancient and modern greek, gujarati, hebrew, hindi, inuktitut, japanese, kannada, kashmiri, kazakh, korean, lao, malayalam, marathi, nepali, ojibwa, oriya, panjabi, punjabi, persian, pushto, pashto, russian, sanskrit, serbian, sichuan yi, nuosu, siksika, sindhi, sinhala, sinhalese, slovak, swedish, tai languages, tamil, telugu, thai, tibetan, uighur, uyghur, urdu, uzbek, vietnamese, as well as yiddish.
Add input languages
We can add languages in System Settings section. Click the drop down arrow on the top right corner of your Ubuntu desktop and choose Settings icon in the bottom left corner.
From the Settings section, click on Region & Language option in the left pane. Then click the + (plus) sign button on the right side under Input Sources tab.
In the next window, click on the three vertical dots button.
Search and choose the input language you'd like to add from the list.
For the purpose of this guide, I am going to add Tamil language. After choosing the language, click Add button.
Now the selected input source has been added. You will see it in Region & Language section under Input Sources tab.
Click the "Manage Installed Languages" button under Input Sources tab.
Next you will be asked whether you want to install translation packs for the chosen language. You can install them if you want. Or, simply choose "Remind Me Later" button. You will be notified when you open this next time.
Once the translation packs are installed, Click Install / Remove Languages button. Also make sure IBus is selected in Keyboard input method system.
Choose your desired language from the list and click Apply button.
That's it. That's we have successfully setup multilingual input method on Ubuntu 18.04 desktop. Similarly, add as many as input languages you want.
After adding all language sources, log out and log in back.
Type in Indian languages and/or your preferred languages
Once you have added all languages, you will see them from the drop download on the top bar of your Ubuntu desktop.
Alternatively, you can use SUPER+SPACE keys from the Keyboard to switch between input languages.
Open any GUI text editors/apps and start typing!
Add IBus to startup applications
We need let IBus to start automatically on every reboot, so you need not to start it manually whenever you want to type in your preferred language.
To do so, simply type "startup applications" in the dash and click on Startup Applications option.
In the next window, click Add, type "Ibus" in the name field and "ibus-daemon" in the Command field and then click Add button.
From now on, IBus will automatically start on system startup.
And, that's all for now. It is your turn now. What application/tool you're using to type in local Indian languages? Let us know them in the comment section below.
Great read, thx a ton :-))
I have all this working for a romanized keyboard for Lao language, under Ubuntu 18.04
But I am using a national keyboard (Swiss french), and ibus-m17n engine uses the US layout.
So I have to modify the mim table accordingly (and it becomes very complicated with friends using the French keyboard).
ibus-setup has an option for this, but Ubuntu is using ibus in another way and does not “listen” to what is setup with ibus-setup.
ibus-m17n does not work in Ubuntu 19.04 and 19.10 like in earlier versions including 18.10
i have done all these, but still can’t display german character. i have installed english, chinese, germany input language, chinese and english works, but german language does not display german character.
can you help me pls ?
this method is good for many languages, such german language, but no use for chinese language input.
any idea how to do Chinese language input using ibus ?
I don’t know why this method is no use for Chinese. I will check and update the guide if I find any workaround. Thanks for letting me know.
my previous chinese input method works because i was using fcitx input method instead of ibus.
Thank you very much. This helped. I was able to setup Kannada input.
Happy to help.
I want a kannad keyboard mechanical typewriter keyboard layout for kannad speed typing so pls help me for settings i have downloaded ubyntu 20 versoion
Hi, the procedure is same for all Indian languages. This guide is written for Tamil support. Just choose Kannada language instead of Tamil and follow the same steps. You’re all set.