How do I enable writing in Indian languages?
For Ubuntu 18.04 and above
The menus and settings have changed changed significantly since Ubuntu 17.10 and above uses Gnome Shell instead of Unity. These instructions may work for Ubuntu 17.10 as well, but I have only tested them in Ubuntu 18.04 LTS.
Use a Hindi keyboard:
Go to System Menu at the top right corner of the desktop panel and select Settings, the screwdriver & wrench icon.
Select Region & Languages
Click the + icon under the Input Sources to open Add an Input Source window.
Click on the three dots at the bottom of the window to expose the search bar.
Type Hindi or any other language you want to install. The word Other will show on the top of the Window.
Click on Other different keyboard layouts for Hindi (or the language you typed) will show below it.
Select a keyboard layout and press the Add button at the top.
Now the new keyboard layout will be listed in the Input Sources table.
That's it!
For Gujarati and other Indian languages
Repeat the steps above.
There is only one keyboard layout available by default for Gujarati.
Check the keyboard layouts you selected first select the language from the list of input sources. Then click on the keyboard icon at the bottom right corner.
You can also see the keyboard layouts of any installed language from the drop-down menu of the language icon on the top right corner of the desktop.
Use ibus-m17n
, the preferred method
If you don't see the keyboard layout you want, or if you get unexpected results when you type in the selected language then follow the steps below install ibus-m17n
. This will give you more choices of keyboard layouts in your Indian language.
Open a terminal by pressing Ctrl+Alt+T and enter:
sudo apt install ibus-m17n
Enter your password when prompted.
Close all applications and restart the computer for the
ibus-m17n
based keyboard layouts to show up in the list. Follow the same steps to select a different keyboard layout.
Changing between keyboard layouts
Once a new keyboard layout is selected, you will see a new language icon at the top panel. Clicking it will give you all the installed keyboard layout choices. You can also switch between different installed keyboard layouts by clicking Super+Space, or Shift+Super+Space.
Instructions for older versions of Ubuntu
For Ubuntu 16.04
Install language support
Go to System Settings > Language Support > Install Languages and install Hindi (or any other Indian language).
Use a Hindi keyboard:
- Go to the Keyboard app. If you have Unity or something that allows you to search for your apps, then get to it that way. Otherwise it's probably in System » Preferences » Keyboard.
- Go to Text Entry at the bottom of the Typing tab. Click add, and find Hindi (it's easier by language than by country).
- Choose a keyboard layout you are comfortable with. The program will display the layout so you can confirm the one that suits you best. Examples of keyboard layouts are
Bolnagiri
,KaGaPa
,Phonetic
, andWx
. different layouts assign different keys to different letters. Choose the keyboard layout you are used to, or try a few and see which one you like best. Here are some examples of Hindi keyboard layouts. - A little icon on the top panel displays a small keyboard icon and the current keyboard layout. It's probably still the English language one, since you haven't yet chosen to write in Hindi. So, to start writing in Hindi, click on that icon and choose the Hindi layout. You can now start typing in Hindi.
Repeat for Gujarati. When you do it for the first time, it will ask permission to install some software. Say yes and enter password when needed.
Use ibus-m17n
, the preferred method
- Using Ubuntu Software Center install ibus-m17n. This will give you more Hindi keyboard layout choices. This may be already installed.
- Once you installed iBus, open Dash and look for iBus. Once iBus is running, go to the second tab called input method.
- Make sure "Customize Input Selection Method" is checked. Click on Select and Input Method and select Hindi > itrans. Then hit the Add button to add this input method. If Hindi is not at the top, click on it and click "Up" button to move it to the top. Click on close button. You will notice a keyboard icon on the top panel in Unity.
Some hints on typing in Hindi (Itrans)
Now, open a new window of LibreOffice or Gedit or where ever you want to type in Hindi and hit Super+Space Bar. This will change the input method to Hindi for that app. You will notice that the icon on the tray now shows Hindi क्. If you don't see क् and see the keyboard icon or another language icon on the top panel, click on it and select Hindi-Itrans (m17n). Now type "kaise ho" it should appear in Hindi.
Note the Itrans phonetic layout has its own rules so it may not be exactly what you are used to. There is a Gujarati-Itrans choice as well in the ibus Input selection method.
More detailed instructions with pictures.
See the answer to How to type half Hindi character with Hindi (Bolnagri) layout?
Hope this helps.
In order to type Indian languages or any other languages in Linux 11.1 and above, one need to install fonts of those languages and keyboard input method amd ibus m17n
For Indian languages open terminal and run the following commands:
sudo apt-get install ttf-indic-fonts
sudo apt-get install ibuspressing both keys
sudo apt-get install ibus-m17n
Restart the computer. Then from the dash (press Super) select System Settings and then Language Support (close any other window jf appears).
Goto keyboard input method system and choose ibus
from the list to enable ibus
.
Then from dash, search and select Keyboard Input Methods and and right click on icon, if it is not installed select install.
After this select Keyboard Input Methods and select launch, Ibus preferences menu will appear.
In "General" tab, mark for show icon on the system tray.
Now select second tab "Input Method", mark Customize active input methods then select an input method from the list (click on list icon to select from the language list) like Gujarati (choose one of these- in-script, itran or phonetic) selected language will appear under Customize active input methods.
Then click add option on the right side. For Hindi select Hindi -> (choose one option from 6 options, select phonetic m17n
to type as you speak; भारत = Shift + bart) and click add next to it. Close the ibus preference menu.
Like this one can select any language from the list and add to language panel.
In any editor to activate desired language click on the language panel (right top corner of the screen) and select language in which you want to type. When you select language, icon will change to that language. To type in English select option - input method off.
In older version of Linux, Ctrl + Space, activates and deactivates the desired language.