NAME AND CONTACT INFORMATION
Name: Ayush Garg
IRC or IM networks/handle(s): AYUSH
Location: Patna, India
Timezone: Kolkata, INDIA, UTC+5:30
Typical working hours:
6pm to 2:00am (workdays) 10:00am to 8:00pm (weekends)
(however, can adjust and go beyond if required)
as we all know, today wikimedia has become the regular visited site for getting information on any topic. moreover its feature of providing the same information in user's native language has strengthened its success. Translatewiki.net is a tool that makes interface message translation in different languages easy.
At present, Special:SearchTranslation provides a good service of searching words in the messages. It also supports filtering messages in different languages but it still lacks certain important features like:
1.) It does not support filtering messages according to their status of being translated, untranslated.
2.) It does not fetch results in user's language which discourage the coherency of translation between messages.
3.) it does not allow user to directly search messages with message specifications like message key.
and much more.
thus seeing all the above problems, this project aims to solve these problems by improving user interface (like giving filtering options), searching capabilities (like one click search the messages using key) and much more.
TASKS AND APPROACHES
please mention what are the challenges you will face and how will you overcome them?
this project consists of following tasks:
TASK 1: FILTERING SEARCH RESULTS INTO DIFFERENT CATEGORIES
this taks include sub-tasks like:
Task 1.1: filtering messages based on translated, untranslated and outdated
A user wants to see the search results in a filtered form like he wants to see all the translated messages separately from untranslated one so that he can easily edit or add the translation. so, this task aims to provide the user with more filtering options by categorising the messages in "translated", "untranslated" and "outdated" columns to enable him to easily search his/her requirements.
Approach: the approach will be little bit similar to the one already implemented in Special:Translate by adding status property to the index mapping and filter messages based on this status property.
Task 1.2: showing Search Results in User's language (T55656)
when the user search for any word in search bar, he/she expects the result in his/her language but presently the results are shown only in the languages in which that word actually exists (mainly English).
for ex: as a hindi user if i am searching for 'school' then i expect that it should show me messages containing word "vidyalaya" (hindi translation of school) but currently it is only showing messages containing word "school".
- do query to find the messages in source language that contains the text.
- do another query for translation of those messages
- if translation exists, show result in translated language and provide option to edit.
- if translation doesn't exist, still show result in translated language and provide option to add translation.
- give proper margins and padding to clearly distinguish the pagination links from "edit translation" link.
- apply button style (mw-ui-button) on pagination links to make them attractive.
TASK 2: SPECIALISED SEARCH:
this task include sub-tasks like:
Task 2.1: Enabling Sub-group selection (T54703)
currently when a user click on "X other groups", it shows all the main groups but don't show the sub-groups for further filtering the messages.
Task 2.2: Search messages using message key (T62570)
If a translator already knows the message key, then he/she should directly reach to that message in one click
Approach: one possible solution is to provide a keyword to search in that particular format like for searching with exact key, for ex: translator has to type "key:message key". but don't know its actual solution so, have to discuss it with mentors.
TASK 3: OTHER TASKS
Task 3.1: Edit translation option is not working in all cases (T64829)
the "Edit Translation" feature don't work in the cases when its next message is disabled for editing
Approach: remove all the messages which are disable for translation. it is done by filtering the results based on group priority.
Task 3.2: allow messageid with elastic search (T70518)
the Special:AllMessages added an external link to translatewiki.net to every message but the produced link are not giving the actual result.
Approach: implementing the correct syntax with elastic search by passing query, need.discussion with mentors.
Each of these tasks would involve considering various possibilities and corner-cases, which would be handled as the project progresses.
Project: One Stop Translation Search
this project includes completion of all above mentioned tasks with well defined user-friendly interface having more filter options.
detailed timeline of the project will be as follows:
|Before May 25||make bonding with the mentors and community. try to communicate with 3rd party to discuss and improve the goals of this project.|
|get familiar with the tasks related code.|
|May 25 - June 7||design and implement a process to add status field in order to filter messages.|
|June 9 - June 19||design and implement a way to show the filtered messages in user's (target) language.|
|discuss with mentors the user interface|
|June 20 - June 26||improving the search interface, adding filter tabs (translated, untranslated etc)|
|improve pagination links as per discussed with mentors.|
|June 27 - June 28||mid term evaluation (Task 1 completed)|
|June 30 - July 7||discuss with mentors an efficient way to specialised search.|
|add a filter to remove all the message groups which are discouraged for translation.|
|July 9 - July 13||implement the specialised search.|
|July 15 - July 21||coding the feature to select multiple group selectors and search using sub-groups. (task 2 completed)|
|July 23 - July 30||discuss the possible solution of task 3.2 with mentors|
|implement the solution (task 3 completed)|
|August 3 - August 8||Unit testing of the code and gathering bugs/errors|
|August 9 onwards||Bug fixing and improving the documentation|
|August 17||Pencils Down|
|August 22||Submitting code samples to Google|
IRC has always been my first option whenever I am stuck at something. I never hesitate to ask questions, however silly they might be. I would be available on IRC by the nickname AYUSH on channels such as MediaWiki-Internationalization, #wikimedia-dev and I would appreciate all discussions related to my project to be carried on the above mentioned IRC channels and mailing lists.
I would also write weekly/monthly reports on MediaWiki itself to keep the community updated about the project and planning to publish my work on github.
give your details.
I am a 19 year old Computer Science Engineering student from Indian Institute of Technology, Patna, India.
how do you know about this program?
i have heard this program(Google Summer Of Code) from my seniors who participated in this the last year.
why you want to work on this project? what is the importance of this project in your life?
As i am the regular visitor of wikimedia and its sites like wikipedia.com etc. it helps me a lot in completing my project works on school days, getting information about different topics. so i believe that i owe this organisation and their developers who do a hard work to benefit us. this makes me enthusiastic to work on this project.
will you have any other time commitments during this project?
No, i will have my summer holidays during that period so i will totally follow the routine "Eat, Code, Sleep". that means i can promise you to give minimum 40 hours a week to this project.
We advise all candidates eligible to Google Summer of Code and FOSS Outreach Program for Women to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?
No, i am applying only for GSOC 2015 in mediawiki.
Any other info:
Past Experience and Micro tasks performed
Do you have any past experience of working on any open source project in mediawiki?
As i have recently started working in mediawiki so this would be my first experience to work with any open source organisation but i am very passionate for coding and have submitted few patches for different extensions of mediawiki which can be seen here:
some micro tasks related to translate extensions which i have submitted are:
- Styling of pagination links (link) : get to know about css and php coding conventions, button styling etc
- Result in target language (link): get to know about elastic search queries and its functioning.
I am positive about the project getting over by the end of the program but due to some unavoidable circumstances, if I am not able to do so, I will unconditionally work on it after the program gets over and complete it.