Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Developing Indian Language Support in Android D...

Developing Indian Language Support in Android Devices

Avatar for Anivar Aravind

Anivar Aravind

June 17, 2014
Tweet

More Decks by Anivar Aravind

Other Decks in Technology

Transcript

  1. June 17, 2014, PRSG Meeting , New Delhi 1 Developing

    Indian Language Support for Anivar A Aravind ICFOSS [email protected] Android Devices
  2. LANGUAGE SUPPORT BUILDING BLOCKS 2 1. Fixing rendering issues 2.

    Adding language locale 3. Terminology translation pilot 4. Input method development 5. Curating Indian language fonts
  3. FIXING RENDERING BUGS 3 ➢ We fixed Indian language rendering

    issues in Harfbuzz-ng , the rendering engine for Android in collaboration with developers in Swathanthra Malayalam Computing who works in Indian language rendering issues ➢ Android 4.3+ renders all indian languages pretty well Harfbuzz Logo Swathanthra Malayalam Computing logo
  4. ADDING LANGUAGE LOCALES ➢ Locale is a set of parameters

    that defines the user's language, country and any special variant preferences that the user wants to see in their user interface. Usually a locale identifier consists of at least a language identifier and a region identifier. ➢ Android official code base supports only one Indian Locale – Hindi ➢ Since Android Open Source Project does not encourage locale addition bugs we added 14 Indian language locales to Cyanogenmod project in may 2013 4 ASSAMESE BENGALI-INDIA GUJARATI HINDI KANNADA MAITHILI MALAYALAM MANIPURI MARATHI ODIA PUNJABI TAMIL TELUGU URDU
  5. ADDING LANGUAGE LOCALES 5 ASSAMESE BENGALI-INDIA GUJARATI HINDI KANNADA MAITHILI

    MALAYALAM MANIPURI MARATHI ODIA PUNJABI TAMIL TELUGU URDU IMPACT ➢ This effort created interest among Device manufactures like Samsung and they took locales from cyanogenmod and integrated with their mobile OS announced indian language phones in 9 languages (August 15 2013) ➢ Companies like LG , Sony , Micromax etc also started following Samsung by end of 2013 or early 2014 . Sony, Micromax, Huawei etc were stripping Indian Language components and fonts prior to that
  6. TERMINOLOGY TRANSLATION 6 ➢ We decided to build a mobile

    Module of Frequently Used Entries in Localisation Project (FUEL) for 3 languages as a first step in terminology transltion and run a pilot with Malayalam, Kannada and Hindi ➢ FUEL Project is suggested as a “Best practices of Localisation” by E-Governance standard. The effort is to create a uniform set of user interface elements in local languages for vernacular mobile interface usage ➢ We also conducted Peer Review workshop of translations to review and reach at consensus on technical words.
  7. TERMINOLOGY TRANSLATION 7 IMPACT ➢ Mozilla Showed Interest in using

    FUEL Mobile module for Indian languages in translaion quality assesment of Firefox OS and Firefox Browser for Android ➢ FUEL Project requested ICFOSS and Indic Project by SMC to takeup the task of expanding FUEL-Mobile module coverage to all Indian Languages in Mozilla Indic L10n Sprint Pune June 2014. ➢ FUEL Mobile Malayalam standardization efforts are widely covered in mainstream media
  8. 9 Cyanogenmod Settings menu with Malayalam Localisation Firefox OS Settings

    menu with FUEL terminologies (community review pending)
  9. INPUT METHOD DEVELOPMENT ➢ We developed a keyboard supporting 15

    Languages and 36 Input Methods In association with Swathanthra Malayalam Computing under Apache 2.0 License. Source code is available at https://github.com/icfossdotin/Indic-Keyboard . ➢ Indic Keyboard will work with all Android 4.1+ devices . The languages supported are 9 Languages included in Android stock rom and extra languages currently supported by samsung phones . ➢ Keyboard widely got accepted and it was No 1 in Top New free Section in Google play store India . Also this became widely popular in playstore of countries with Indian Diaspora. More than 40,000+ Downloads happened in initial week and there are 1500+ ratings now (avg rating 4.2 ) in Google Play Store 10
  10. INPUT METHOD DEVELOPMENT ➢ Supported Keyboards ➢ Assamese: Inscript, Transliteration

    ➢ Bengali: Probhat, Avro, Inscript ➢ Gujarati: Phonetic, Inscript, Transliteration ➢ Hindi: Phonetic, Inscript, Transliteration ➢ Kannada: Phonetic, Inscript, Transliteration ➢ Malayalam: Phonetic (based on lalitha), Inscript, Transliteration ➢ Marathi: Transliteration ➢ Nepali: Phonetic, Traditional, Transliteration ➢ Odia: Inscript, Transliteration ➢ Punjabi: Phonetic, Inscript, Transliteration ➢ Sanskrit: Transliteration ➢ Sinhalese: Transliteration ➢ Tamil: Tamil-99 (initial support), Inscript, Phonetic ➢ Telugu: Phonetic, Inscript, Transliteration ➢ Urdu: Transliteration 11
  11. INPUT METHOD DEVELOPMENT Todo ➢ The keyboard is developed as

    a single applications which can contain all AOSP style FOSS licensed input methods . ➢ There is a need of continuing research and development on more innovative layouts for mobile including stroke and gesture based keyboards. ➢ Features like dictionary support etc need to be developed and integrated with this keyboard ➢ Documentation of Input methods need to be integrated with keyboard 12
  12. 13 Pranav Mistry Head of Think Tank Team and Vice

    President of Research at Samsung tweeted It and shared with the world. The app got around 20,000 downloads in first 4 days, reached #1 in India, Saudi Arabia in the top new free list of its category.
  13. 14 Mainstream Media, Online Media & Blogs Followed Android Police

    , EFYtimes & Medianama Featured it And It became No 1 in Top New Free tools in India Play Store
  14. CURATING INDIAN LANGUAGE FONTS 15 ➢ We curated a list

    of best free fonts for each language and packed it for oem vendors to integrate with android firmware. ➢ But this effort need to happen through policy efforts or device manufacturer contracts because users need to root their device to install these fonts , which may void their device warranty  Huawei and many similar companies are still shipping phones without indian Language fonts. Without fonts the users can't enjoy Indian Language experience in mobile Font Selection Criteria ➢ Open Source & license compatibility ➢ Community Preference ➢ Small Size suitable for oem integration ➢ Perfect Rendering with Harfbuzz-ng ➢ Actively maintained
  15. Next Steps ➢ Continue work on Harfbuzz on testing and

    improving text rendering ➢ Develop Indic Keyboard as a generic mobile input method library with dictionary support . Additional text input features like text prediction, word completion, error corrections etc need to be added ➢ Initiate research on developing stroke and gesture based indian language mobile input methods ➢ FUEL-Mobile module expansion and updation to all Languages ➢ Indian Language Mobile Extention for FOSS based OCR projects like Tesseract ➢ Expand support for indic languages to all new upcoming free Mobile OS platorms FirefoxOS and Tizen 16
  16. Next Steps Focus App Developers ➢ Develop an SDK integrating

    various FOSS licensed indian language technology tools for Mobile devices. ➢ Work on Hyphenation algorithms for Indian Languages and integrating them with Mobile OS ➢ Develop/Improve cross language approximate search and translitration Algorithms and implement them as a part of SDK . This will help to improve multilingual support of mobile devices ➢ Build Translation Memory Modules and integrate them with Android Indic SDK ➢ Initiate Free licensed App Development Contests to popularise FUEL Mobile Indian Language Terminologies and SDK supporting indian language technology algorithms 17