Google Summer of Code Proposal: Language Packs Final

Personal Details

Name: Marko Novaković
Personal Website:
Skype ID or GTalk: mare.dragon (Skype) (GTalk)
IRC nick: mare34
Phone number: +381 64 2956 756
School Name: School of Electrical Engineering, University of Belgrade, Serbia
Years completed: I finished a bachelor degree and I am studying the master course now.
PHP Experience Level: Intermediate/Advanced (2 years).
WordPress Experience Level: Plugin/theme developer (1 year).

Project Description

Link to project description on WordPress-powered blog:

Describe your idea in detail: I have chosen Language Packs from proposed GSoC ideas. The goal of this idea is to separate tasks of plugin developers, core contributors and translators, automating more tasks. This task should be divided in two separate projects. The first is in the GlotPress side, which is the bridge between plugin repository and GlotPress. The second is in the plugin side. The bridge is in the responsibility of team and the plugin project is in my responsibility.
The functionalities of the plugin side of project is to monitor installed plugins automatically and the current language and download mo file from GlotPress to plugin of theme directories if translation for this plugin and language exists. There is also possibility to download localization for WordPress core. The plugin side consists of submenu Language Packs in the Settings menu. This page consists of some options and list of all installed plugins and ability to translate and submit translation entries it directly to GlotPress in the current language and changing current language to any other available. There should be authentication if someone wants to contribute the first or better to GlotPress account and synchronization with the current translation. There could be the following scenarios: if a new plugin or theme is installed, there is ability to download mo file if language is not default or language file exists on the GlotPress side, if plugin or theme is updated there is possibility to download new version of translation file and adding some rating system for translations on the plugin side.
On the side of GlotPress, which is the project for staff, it should be made the mentioned bridge between GlotPress and the plugin repository. In the plugin or theme submission form on it should be the field for registering unique plugin or theme textdomain. There also should be important to be done a form in which users can vote for submission plugin to GlotPress and some rating system for GlotPress translations, because in the plugin side users could set downloading translation mo files depending on the ratings.
I am also ready to contribute some tasks on the GlotPress side if it is needed.

What have you done so far with this idea: I discussed to this topic in the WP Hackers mailning list, and Andrew Nacin said that he wanted to be a mentor on this project. He suggested to divide this task in two projects as I defined above. I am also thankful to Stas Sușcov, who suggested a rating system for plugin or theme translations and some workflow issues.

Plugin, theme, or core: I suggest a plugin, because I have a lot of experience with plugin development. I also think that some inexperienced users would have problems with Language Packs in the core. It would be also a problem for premium plugin developers, who wants to do localization in the current manner. Andrew also suggested to do it as plugin.

Anticipated challenges: The biggest challenge in this project is collaboration between me and team in two projects. There are some features in my side which could depend on finishing some deliverables on the GlotPress side or vice versa. My suggestion to be successful on this project is intensive team work by chat or other channels.

Potential mentors: Andrew Nacin proposed to be a mentor on this project and he wrote this on the ideas page. I think that he would be ideal because this task is his goal for 2011 in contribution to WordPress.
Nikolay Bachiyski proposed to support for GlotPress issues on this project.

Schedule of Deliverables

Milestones and deliverables schedule:

  • Now – April, 24th: Writing requirements in detail. I am also elaborating the infrastructure on the GlotPress side side.
  • April, 25th – May 8th (14 days): Learning GlotPress code better, designing forms on the option page and finishing requirements.
  • May 9th – June 12th (28 days): Writing base functionalities for downloading mo files from GlotPress via HTTP protocol and changing current language.
  • June 13th – July 10th (28 days): Writing other functionalities for all workflows and if needed some things on the GlotPress side.
  • July 11th – August 7th (28 days): Implementing the new ideas appeared in the fly, support for multi-language plugins, testing and making some enhancements.
  • August 8th – August 21th (14 days): Final testing and writing documentation.

Other commitments: I plan to go to some short trips, but I am always available online via phone or laptop.

    Open Source Development Experience

    PHP Experience: I have experience in programming about 10 years. I started with Pascal/Delphi, then about 2003. started to program in C++/Java. In last two years I have interested in scripting languages PHP and Python. Experience in Java nad C++ are very useful for PHP programming. When I started to write some scripts in PHP it was very easy for me. I started with some enhancements in the back-end on some local sites. In 2010. I started to learn WordPress plugin development and contribute with one plugin to Vladimir Prelovac. I also have sufficient experience in jQuery for writing WordPress plugins.

    WordPress Experience: I contribute to Vladimir Prleovac in the plugin WP Quick Delpoy and make some enhancements for other his plugins.

    Work Experience

    Work Experience:

    • Researcher (Java), IPSI and Inovation Center of School of Electrical Engineering, University of Belgrade, October 2009 – December 2010 (1 year 8 months), Researcher on FP7 project ARTreat (
    • Web Master (PHP), Belgrade Career Center, November 2008 – January 2009 (3 months), Internship
    • ERP Developer (MS Dynamics Axapta), NPS, April 2008 – June 2008 (3 months), Full Time
    • Web Service Developer (.NET), Pexim, September 2007 – September 2007 (1 month), Internship

    Academic Experience

    Academic Institution: School of Electrical Engineering, University of Belgrade

    Current Program: Master od Comuter ScienceAnticipated Graduation: May 2011.

    Academic Performance: Bachelor Exams Average: 7.29/10, Bachelor Final Exam: 10/10, Master Exams Average: 9.40/10 (I have only the final exam on the master course.).

    GSoC for Credit: No.


    • Vladimir Prelovac (
    • Dr. Veljko Milutinović (
    • Dr. Miloš Kovačević (

    Why WordPress

    You’re applying to work with WordPress during GSoC because: I like WordPress because is a blogging platform, which is very simple for use and so extensible. It could also extend in a social network or a news site in a simple way. My choice to WordPress, more than CMS-es, like Drupal or Joomla, is caused by intuitive user interface and my preference to blogging. I also have an ambition to become a worldwide famous blogger.

    After GSoC, you envision your involvement with WordPress will be: I want to be a dedicated plugin contributor and a core developer. I want to contribute to WordPress core to be optimized by performances and to have MVC architecture.

    Additional Notes:

    I am very thankful to Stas Sușcov, who advised me and lead me in the right manner to compose this idea in the meaningful way.

    , , ,

    1. What Can We Expect in WordPress 3.3?

    Leave a Reply

    Fill in your details below or click an icon to log in: Logo

    You are commenting using your account. Log Out /  Change )

    Google photo

    You are commenting using your Google account. Log Out /  Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out /  Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out /  Change )

    Connecting to %s

    %d bloggers like this: