User:VirajSinha: Difference between revisions

From SMC Wiki
No edit summary
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 5: Line 5:
     # Email Address                        : virajssinha@gmail.com
     # Email Address                        : virajssinha@gmail.com
     # Telephone                            : 918884210392
     # Telephone                            : 918884210392
     # Blog URL                              : [http://virajs07gsoc.wordpress.com/home/]  
     # Blog URL                              : [http://virajs07gsoc.wordpress.com/home/ http://virajs07gsoc.wordpress.com/home/]  
     # Freenode IRC Nick                    : VirajSinha
     # Freenode IRC Nick                    : VirajSinha
     # University and Education              : Pursuing a B.Tech from Manipal Institute of Technology in Computer Science and Engineering
     # University and Education              : Pursuing a B.Tech from Manipal Institute of Technology in Computer Science and Engineering
Line 38: Line 38:


=== A brief Overview ===
=== 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 is titled "Internationalize SILPA project with Wikimedia jquery projects". But it also includes " Improve the webfonts module in Silpa using jquery.webfonts and provide more Indic and complex fonts". 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 webfonts module in SILPA for translation. jquery webfonts extension adds font embedding capability to jquery using the webfonts technology. The extension provides a flexible way to choose fonts from the font repository and add then to the html elements. So basically we are trying to bring the new FLASK based SILPA site to the people in a language they can read and write. The project can be summarized as :-
 
    1. Translation strings to be put in the respective module paths
 
    2. The localized strings to be loaded from the respective module paths when the user changes the preference.
 
    3. Storing the user's preference using HTML5 localStorage API and loading modules'  localised string from the preference set by the    user.
 
    4. Providing a tool for people to be able to input local Languages. 
 
    5.Improving the webfonts module in SILPA using jquery.webfonts which    is an extension to jquery. As per jquery.webfonts specifications we need to have a font repository and choose fonts from those repositories.
 
  6. Providing support for more Indic and Complex fonts.
 
  7. Document the usage of webfonts and creating a clean API(REST) so that other websites can call our webfonts in their website.




=== The need you believe it fulfills ===
=== The need you believe it fulfills ===
The need to give people a better understanding of the context in the site so that they can utilize it for their advantage. This is required because not many Indic languages are supported by Google. Google suppports 6 or 7 Indic languages and there are about 22 different official languages declared in the Constitution of India. Hence it becomes necessary to make that languages translation tool at the earliest
    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. This is an extension to jquery and can be easily integrated as it applies font based on the lang attribute of the elements which can be set on user click.
 
    5. Webfonts module - I need to enhance the present module in old silpa code and use jquery.webfonts to apply the fonts instead of the present way.
 
    6. Bootstrap - For the front-end work




Line 50: Line 87:


=== Project Timeline ===
=== 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) ====
 


==== June 17 - June 30(Week 1 and Week 2) ====
     # Get to know more about the i18n, web-fonts and jquery.ime
     # Get to know more about the i18n, web-fonts and jquery.ime
     # Plan the implementation details with the community
     # Plan the implementation details with the community
     # Discuss with the community about which languages need to be handled first
     # Discuss with the community about which fonts need to be added first as there is already support for 36 webfonts
     # Get to know the community better
     # Get to know the community better


 
==== July 1 - July 14 (Week 3 and Week 4) ====
==== July 1 - July 14 (Week 3 and Week 4) ====
     # Separate the templates to be inside modules
     # Adding more fonts to the webfonts module in SILPA
     # Gather information(translation) of the different strings in Indic Languages and make them into json files for 2-3 Indic languages
     # Creating a repository for the fonts which van be called by jquery.webfonts which is a specification for using jquery.webfonts.
     # Complete the translation for these languages and provide an option on the site to switch to them.
     # Re-writing the webfonts module to use jquery.webfonts instead of the css3  fontface feature
 
   
 
==== July 15 - July 28 (Week 5 and Week 6) ====
==== July 15 - July 28 (Week 5 and Week 6) ====
   # Get the code reviewed from the community
   # Writing a clean API so that webfonts module can be used by other    websites (REST API).
   # Rectify the code and make the changes
   # Implement the functionality for font preview and download options which will generate a link for the css file for the people and they can use the font on their site without having to download them.
  # Document the changes so that it can be understood
   # Get the code reviewed from community and make changes.
   # Push the changes on the code base so that they are live
 
 
 
==== July 29 - August 4 (Week 7) ====
==== July 29 - August 4 (Week 7) ====
   # Discuss with community about further implementation and how to go about it
   # Discuss about the UI for the font preview and download options.
   # Read about further suggestions
  # Implement the UI for the site
   # Wait for mid-term evaluation
   # Get the UI reviewed from the community
 
   # Rectify the UI and make the changes
 
 
==== August 5 - August 18 (Week 8 and Week 9) ====
==== August 5 - August 18 (Week 8 and Week 9) ====
   # Use the translation files to translate the pages of different modules into the remaining languages
   # Document the changes
   # Store user's preferences using HTML5 localStorage
  # Push the code as a patch to the codebase so that it can go live.
   # Provide the option on the website for user to click on a language and call i18 and jquery.ime on clicks of languages
  # Start work on the Internationalization part using i18n.
 
   # Collect translation strings  about the different languages that need to be implemented as a part of this project.
   # Make them into  JSON file out of these for the i18n to call on user's click.
 


==== August 19 - September 1 (Week 10 and Week 11) ====
==== August 19 - September 1 (Week 10 and Week 11) ====
   # Implement the full feature and see that everything is working
  # Change the code to store user's preference using HTML5 localStorage so that the next time the site can start from the previously selected language for the user.
  # Provide the option on the website for user to click on a language and call i18n and jquery.ime. First the fonts need to be loaded and then the language text can be changed using i18n as it will call the respective json file holding the translation strings.
  # These localisation strings will be a part of different modules and hence have different paths.
 
==== September 2 - September 15 (Week 12 and Week 13) ====
  # After implementing i18n on the website we need to think of a tool on FLASK for people to be able to input in the language they have selected
   # Implement the tool and write the code for it.
  # Get it reviewed from the community and make changes to it.
==== September 16 - September 27 (Week 14 and Week 15) ====
   # Write the test Cases for the code
   # Write the test Cases for the code
 
   # Test the code for all the cases
 
==== September 2 - September 15 (Week 12 and Week 13) ====
   # Get the code reviewed from the community
   # Bug fixes and implement the changes
   # Bug fixes and implement the changes
   # Test the code for all the cases
   # Push the changes to the codebase so that they are live
  # Submit the code to Google for final review.
== 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.


==== September 16 - September 23 (Week 14) ====
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.
  # Get the whole project reviewed
  # push the remaining changes into the code base
  # Prepare for final evaluation


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


==== September 24 - September 27 ====
5. Some of the python projects and rest of things that I have done can be found at my [http://www.github.com/virajs07    http://www.github.com/virajs07] account.
  # Submit the code to Google for final evaluation
  # Wait for the final evaluation result


== Things that I have made ==
I have made two apps . 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. 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. 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. Besides these apps I have also made my college website using Php, HTML, CSS and Javascript/Jquery.All the things that I have done can be found at my [http://www.github.com] account.


== Mentor ==
== 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 or the nick stultus on freenode. 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.
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 ==
== Wiki Link ==
[http://wiki.smc.org.in/User:VirajSinha]
[http://wiki.smc.org.in/User:VirajSinha http://wiki.smc.org.in/User:VirajSinha]

Latest revision as of 07:57, 6 May 2013

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.


Proposal Description

A brief Overview

The project is titled "Internationalize SILPA project with Wikimedia jquery projects". But it also includes " Improve the webfonts module in Silpa using jquery.webfonts and provide more Indic and complex fonts". 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 webfonts module in SILPA for translation. jquery webfonts extension adds font embedding capability to jquery using the webfonts technology. The extension provides a flexible way to choose fonts from the font repository and add then to the html elements. So basically we are trying to bring the new FLASK based SILPA site to the people in a language they can read and write. The project can be summarized as :-

   1. Translation strings to be put in the respective module paths
   2. The localized strings to be loaded from the respective module paths when the user changes the preference.
   3. Storing the user's preference using HTML5 localStorage API and loading modules'  localised string from the preference set by the    user.
   4. Providing a tool for people to be able to input local Languages.  
   5.Improving the webfonts module in SILPA using jquery.webfonts which    is an extension to jquery. As per jquery.webfonts specifications we need to have a font repository and choose fonts from those repositories.
 6. Providing support for more Indic and Complex fonts.
 7. Document the usage of webfonts and creating a clean API(REST) so that other websites can call our webfonts in their website.


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. This is an extension to jquery and can be easily integrated as it applies font based on the lang attribute of the elements which can be set on user click.
   5. Webfonts module - I need to enhance the present module in old silpa code and use jquery.webfonts to apply the fonts instead of the present way.
   6. 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

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 fonts need to be added first as there is already support for 36 webfonts
   # Get to know the community better


July 1 - July 14 (Week 3 and Week 4)

   # Adding more fonts to the webfonts module in SILPA
   # Creating a repository for the fonts which van be called by jquery.webfonts which is a specification for using jquery.webfonts.
   # Re-writing the webfonts module to use jquery.webfonts instead of the css3  fontface feature
   

July 15 - July 28 (Week 5 and Week 6)

  # Writing a clean API so that webfonts module can be used by other    websites (REST API).
  # Implement the functionality for font preview and download options which will generate a link for the css file for the people and they can use the font on their site without having to download them.
  # Get the code reviewed from community and make changes.
 

July 29 - August 4 (Week 7)

  # Discuss about the UI for the font preview and download options.
  # Implement the UI for the site
  # Get the UI reviewed from the community
  # Rectify the UI and make the changes
  

August 5 - August 18 (Week 8 and Week 9)

  # Document the changes 
  # Push the code as a patch to the codebase so that it can go live.
  # Start work on the Internationalization part using i18n.
  # Collect translation strings  about the different languages that need to be implemented as a part of this project.
  # Make them into  JSON file out of these for the i18n to call on user's click.
  

August 19 - September 1 (Week 10 and Week 11)

  # Change the code to store user's preference using HTML5 localStorage so that the next time the site can start from the previously selected language for the user.
  # Provide the option on the website for user to click on a language and call i18n and jquery.ime. First the fonts need to be loaded and then the language text can be changed using i18n as it will call the respective json file holding the translation strings.
  # These localisation strings will be a part of different modules and hence have different paths.
 

September 2 - September 15 (Week 12 and Week 13)

  # After implementing i18n on the website we need to think of a tool on FLASK for people to be able to input in the language they have selected
  # Implement the tool and write the code for it.
  # Get it reviewed from the community and make changes to it.


September 16 - September 27 (Week 14 and Week 15)

  # Write the test Cases for the code
  # Test the code for all the cases
  # Bug fixes and implement the changes
  # Push the changes to the codebase so that they are live
  # Submit the code to Google for final review.



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