Indic-En, a Browser Extension to Convert Indian Language Websites to English Script


Read {count} times since 2020

This is certainly not an April Fool and doesn’t involve a rickroll. :P 😝

Introducing Indic-En, a browser extension to convert websites in Indian languages (Malayalam, Hindi, Kannada) to Manglish, Hinglish & Kanglish. This is the first WebExtension that I’ve made.

This extension will be useful for people who can understand the language, but can’t read it (read the script). I’ve also made a similar Android app “Manglish” which does this, but only for the Malayalam language. Special shoutout to r/Kerala folks who support and help spread the word around of Manglish app. Thanks to all the folks who have donated and spread the word about Manglish app. I’m happy that it’s helping people ❤️. As a Free software indie developer, marketing is a difficult thing to do. Please spread the word around :)

The extension is available for both desktop and mobile. Download the extension from your browser store :

Extensions are not available for Chrome mobile browser, but extensions can be installed in other Chrome based browsers such as Brave Browser.

The -nglish Scripts

Languages are for communication and they’re created and evolved by speaking. Some languages have its own unique script to write or might use other scripts to write them. A language can be writen in multiple scripts. For example, Malayalam is (used to be) written in 3 scripts :

And in this internet age, we’re using English script (Roman/Latin script) mostly through chats, messages because it is easier to type. Here’s a thread on it [Twitter].

Similarly, Hindi written in English is called Hinglish and Kannada, Kanglish. Here are some examples :

കാക്ക => kaakka

कौआ => kauaa

ಕಾಗೆ => kaage

So that’s what this browser extension Indic-En basically do, convert Indic scripts to English/Roman/Latin script.

Usage

Simply install the extension from your browser’s extension/addon store. You will then see the Indic-En logo on your toolbar. On the page that you want to transliterate, click the button on toolbar, a popup will appear, choose language and Transliterate !

In Firefox Mobile, you can access the extension popup straight from browser menu (toolbar) on a page. It’ll be below the “Help” button in the menu.

Features

  • Supports Malayalam, Hindi, Kannada : Manglish, Hinglish, Kanglish
  • Auto transliterate page on load
  • Offline [Requires no internet to transliterate]
  • Privacy : Your data stays with you and only you
  • Options page has a transliterator tool for converting text

Screenshots

Technical

libindic

Indic Project [SMC Project] has made a library libindic which has a Transliteration module. It’s written in Python and has support for various languages. You can cross transliterate Malayalm into Kannada and others.

I extracted the Indic-English part of it and ported it into JavaScript and called it indicjs. The name Indic-En is made from a function in the original Python module : transliterate_indic_en. It was kinda difficult and I had to make some unique changes in JavaScript to make it work. I have published it as a library in npmjs. It’s also my first published npm package ! Yaaaay 🎉

The transliterator library can be used like this :

const Transliterator = require('libindic-transliteration');
const t = new Transliterator();

console.log(t.transliterate_ml_en('അ'));
console.log(t.transliterate_hi_en('अ'));
console.log(t.transliterate_kn_en('ಅ'));

And the output of all of em will be a.

Free Software

libindic is licensed under LGPL while this extension and indicjs is GPL-3. Indic-En is a Free/Libre/സ്വതന്ത്ര software.

You can see the source code here on GitLab. There’s also a GitHub mirror.

Extension

It’s my first time making a WebExtension. I thought I’d have to use different APIs to build extensions for different browsers. Nope, there’s a standard API : WebExtensions. The manifest file of extensions has differences for some browsers, but this can be easily taken care of with this :

I used Abhijith Vijayan’s awesome web-extension-starter to make the extension. It’s very easy to use and helps to build extensions simultaneously for Chrome, Firefox, Safari etc. Shoutout to this fellow Malayalee and his useful project :)

The logo is designed by my good friend, Akshay TG. This guy is special: he draws very well on paper and digital. I’ve known Akshay from wayyy back in grade 6. We together grew in a free software environment. While I got into coding, he drew with GIMP and now he’s amazing all of us with his artwork. He draws with a mouse and the artwork he has made (Here’s one of em) is just WOW !!

Indic-En logo

If you like my work, buy me a tea. Psssst, I like tea more ;)