Skip to content

[GSoC 2013] Muhammad Sumon Molla Selim's Localize ThinkUp Proposal

Sumon M. Selim edited this page May 3, 2013 · 1 revision

Email: me@sumonselim.com

Short description: The main aim of this proposal is to add localization support for ThinkUp. The proposed project will develop a localization system which will be easy to configure and switch between multiple languages and also comfortable for the users or translators to localize the strings. I think the best option would be to use the GNU gettext library and its PHP extension, that will be easier to localize the ThinkUp application. It will be helpful with the gettext PHP extension to target Multiple Locales and switch between them. One most important thing is that it is much easier and less complex to localize Plural Forms using the gettext PHP extension. The templating system also makes it much easier for the translators to localize the strings in their own languages. So, the aim will be to code the ThinkUp application in a way so that it can work with the gettext extension and thus, can be localized in many languages.

Personal Information:

Name: Muhammad Sumon Molla Selim

Email address (the one you used to post on ThinkUp mailing lists): smseleem@gmail.com

What university/college are you currently enrolled in?: International University of Business Agriculture and Technology

What city, country and timezone will you spend this summer in?: Dhaka, Bangladesh (GMT +06)

What's your Twitter username?: smseleem

What are your web site, blog, Google Profile, and/or professional URLs?: http://www.sumonselim.com

Your Coding Skills:

Please provide a brief bio / overview of your background:

I'm an PHP/MySQL Developer working on LAMP/WAMP stack since last 4 years. I have working experience on CodeIgniter, WordPress and different Social Media API (Facebook, Twitter) and so on. I also know HTML, CSS and jQuery.

What is the extent of your PHP/web/MySQL/JavaScript experience?:

I have experience of working with many projects where I used PHP and MySQL. Currently, I use CodeIgniter Framework for building applications and I'm also comfortable working on different social media API and E-Commerce sites. More information can be found on my personal site.

If you have a GitHub account, what is your username?: Yes. I have one. My username is smseleem.

Your Project:

What aspect of ThinkUp would you like to work on and why?:

I want to work to make a localization system for ThinkUp. Localization can make an application more global and accessible to a larger audience. I also want ThinkUp in my native language as well as in other languages. So, I decided to work on this aspect.

Why did you choose this specific idea? What makes you suited to complete this project?:

I choose this idea because I think it would be a very useful and much necessary feature to be added in ThinkUp. I have knowledge on how localization can be implemented in a right way for PHP applications and still learning more on this topic. So, I think I would be able to develop Localization feature for ThinkUp and also gain more knowledge and experience on this aspect.

What do you hope to gain while working on ThinkUp during Google Summer of Code?:

As an Open Source Enthusiast, the most exciting and important thing is that I will be able to get myself connected with the community and work for them. It will also help me to learn new things and develop my skills. I hope this will make me more dedicated and interested to work for the Open Source community and I also want to keep it going after Google Summer of Code.

Summer Schedule:

**We expect you to spend as much time on ThinkUp work as you would at a full-time job during the program. How many hours per week will you work on ThinkUp?: **

I will work 35-50 hours per week on ThinkUp.

Please provide a schedule of how you will spend this time on subtasks of the project. While this is only preliminary, you will be required to provide a detailed plan latest at the beginning of GSoC. During the project, you will issue weekly progress reports against that plan.

Analysis (4 weeks): The first thing would be to get myself prepared and connected with community to know more about the project and do some research on localization. In this phase, I will discuss with the community how ThinkUp will be implemented with the gettext PHP extension and get ideas and suggestions from the community. And get myself prepared to start coding.

  1. Getting to know about ThinkUp application structure and code
  2. Researching to find the way to make the most suitable solution for localization
  3. Preparing the environment (gettext, poedit etc.)

Development (8 weeks): In this phase I will start coding to make my the project come into reality. Installing gettext, making the structure to work with ThinkUp applications and the coding will be done in this phase.

  1. Organizing translation strings
  2. Start Coding to make the localization work with ThinkUp application
  3. Targeting multiple locales translation
  4. Plural Forms Translation
  5. Switching Between Languages
  6. Directory Structures for Language Files
  7. Making String Templates

Implementation and Testing (2 weeks): After the coding is done, it will be implemented with the ThinkUp application and will start testing it. The bugs will be also fixed in this phase.

  1. Testing the system
  2. Find the bugs and fix errors

Please list any summer classes, vacations or other commitments that you'll need to work around.

No commitments to work around. My classes will be finished and I'll be at my home.

Clone this wiki locally