User:VirajSinha

Google Summer of Code 2013 Proposal for Swathanthra Malalayalam Computing

Personal Information
# Email Address                        : virajssinha@gmail.com # Telephone                            : 918884210392 # Blog URL                             : http://virajs07gsoc.wordpress.com/home/ # Freenode IRC Nick                    : VirajSinha # University and Education             : Pursuing a B.Tech from Manipal Institute of Technology in Computer Science and Engineering

Why do you want to work with the Swathanthra Malayalam Computing?
Swathanthra Malayalam Computing is trying to bring Indic languages to the fore and also getting information to people in the local languages so that those who don't understand English can use it. Also the project requires HTML5, CSS and JavaScript which I have good knowledge of and personally have become fond of these web technologies

Do you have any past involvement with the Swathanthra Malayalam Computing or another open source project as a contributor?
No, I have never worked with Swathanthra Malyalam Computing or on any other open source project as a contibutor

Did you participate with the past GSoC programs, if so which years, which organizations?
No, I have never participated in GSoC before and this is my first time.

Do you have other obligations between May and August ?
No, I don't have any other work this summer and am mostly free so I think I will be able to devote 6-7 hours to this project daily and about 40 - 42 hours a week.

Will you continue contributing/ supporting the Swathanthra Malayalam Computing after the GSoC 2013 program, if yes, which area(s), you are interested in?
Yes I want to keep contributing to the community after my project as GSoC is just the beginning. I want to keep workig on extending SILPA in as many Indic languages as possible and if possible some international languages.

Why should we choose you over other applicants?
I have already installed the source code on my machine and I am familiar with the smc code base. Also I have a good understanding for the web technologies and python which will be helpful for me in completing the project. I am fluent in Hindi and know Bhojpuri a bit which can help me in translation and internationalization.I have worked on multi-lingual android apps before which included translating into Tamil,Hindi and Kannada. I have an idea of how jquery.i18n and jquery.web-fonts work. As I am mostly free in the summer I believe I can do some quality work on the project.

A brief Overview
The project is titled "Internationalize SILPA project with Wikimedia jquery projects". The main aim of the project is to make a tool for people to input text in their own local languages and also translate the text on the website to their language so that they have a better understanding of the text. Also the application needs to be internationalized. This can be achieved using jquery.ime and jquery.18n which are javascript/jquery libraries to handle localisation and internationalization. The fonts can be used from jquery.webfonts library for translation. SO basically we are trying to bring the new FLASK based SILPA site to the people in a language they can read and write. Also while doing this project I will need to move the templates in the module path from their present path as the localized strings will be in the respective modules. The project can be summarized as :-

1. Creating new module paths for the templates so that instead of the present paths the templates can be a part of respective modules

2. Translation strings to be put in the respective module paths

3. The localized strings to be loaded from the respective module paths when the user changes the preference

4. Storing the user's preference using HTML5 localStorage API and loading modules localised string from the preference set

5. Providing a tool for people to be able to input local Languages in FLASK

The need you believe it fulfills
1. The need to give people a better understanding of the context in the site so that they can utilize it for their advantage.

2. This is required because not many Indic languages are supported by Google.

3. Google supports 6 or 7 Indic languages and there are about 22 different official languages declared in the Constitution of India.

4. Making the knowledge available to people so that Language barrier is removed.

How do you plan to implement the proposal
The following technologies will be used and hence an understanding of it is required:- 1. FLASK - the current framework for SILPA

2. Python - for separating templates and initializing strings

3. Jquery.i18n and jquery.ime - the internationalization framework for making the website available in different languages

4. Jquery.webfonts - to provide support for different fonts which will be rendered on website

5. Bootstrap - For the front-end work

Previous Experience
During my internship with Babajob I made an Android application for them. This was a multilingual app and had other languages like Hindi, Kannada and Tamil. I used i18n to do this as I was making the app using web technologies like HTML5, CSS and JavaScript.

Project Timeline
Since there are about 22 Indic languages and it is not possible to translate them all over a period of 3 months I would implement for 5-6 Indic languages during GSoC and the rest after GSoC. I plan to take this task week by week and will be providing the weekly details for how I plan to implement this project

June 17 - June 30(Week 1 and Week 2)
# Get to know more about the i18n, web-fonts and jquery.ime # Plan the implementation details with the community # Discuss with the community about which languages need to be handled first # Get to know the community better

July 1 - July 14 (Week 3 and Week 4)
# Separate the templates to be inside modules # Gather information(translation) of the different strings in Indic Languages and make them into json files for 2-3 Indic languages # Complete the translation for these languages and provide an option on the site to switch to them.

July 15 - July 28 (Week 5 and Week 6)
# Get the code reviewed from the community # Rectify the code and make the changes # Document the changes so that it can be understood # Push the changes on the code base so that they are live

July 29 - August 4 (Week 7)
# Discuss with community about further implementation and how to go about it  # Read about further suggestions # Wait for mid-term evaluation results

August 5 - August 18 (Week 8 and Week 9)
# Use the translation files to translate the pages of different modules into the remaining languages # Store user's preferences using HTML5 localStorage # Provide the option on the website for user to click on a language and call i18n and jquery.ime on clicks of languages

August 19 - September 1 (Week 10 and Week 11)
# Implement the full feature and see that everything is working # Write the test Cases for the code

September 2 - September 15 (Week 12 and Week 13)
# Get the code reviewed from the community # Bug fixes and implement the changes # Test the code for all the cases

September 16 - September 23 (Week 14)
# Get the whole project reviewed # push the remaining changes into the code base # Prepare for final evaluation

September 24 - September 27 (Final Week)
# Submit the code to Google for final evaluation # Wait for the final evaluation result

Things that I have made
1. One was called Boomerang and it was using Java and it can be used to share photos on social networking sites like Facebook, Twitter with hand gestures like swipe.

2.The second one was using HTML,CSS and JavaScript and it is called Y-AN-A(Yet Another NGO APP). It can be used to bridge the gap      between people and NGOs by providing the credibility factor and less time taking methods for people to donate to NGOs. I personally loved using web technologies in making app as it was less cumbersome in writing code.

3. In my internship last year I also build an app for Babajob Services Pvt. Ltd. which involves handling language support as the app     needed to be in English,Hindi,Kannada,Tamil and I made the app using i18n and translation strings.

4. Besides these apps I have also made my college website using Php, HTML, CSS and Javascript/Jquery and other web technologies.

5. Some of the python projects and rest of things that I have done can be found at my http://www.github.com/virajs07 account.

Mentor
This project was already on the ideas page and is not suggested by me. The mentor's name written there was Hrishikesh K B. I have contacted him 3-4 times and had a conversation with him. Firstly he helped me in installing the source code. Then I read about jquery.ime and jquery.webfonts. Then he also suggested me that the localised strings should be a part of the modules and templates need to be moved to the respective module paths.

Wiki Link
http://wiki.smc.org.in/User:VirajSinha