Page MenuHomePhabricator

One Stop Translation
Closed, DuplicatePublic

Description

NAME AND CONTACT INFORMATION

Name: Ayush Garg
Email: ayush.ce13@iitp.ac.in
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)

PROJECT OUTLINE

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.

Possible Mentors

  1. Niklas Laxström
  2. Federico Leva
  3. Nik Everett

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".
Approach:

  1. do query to find the messages in source language that contains the text.
  2. 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.

Task 1.3: improving user-interface (T49920)
improving styling for pagination links in Special:SearchTranslation and make it interface like shown here
Approach:

  1. give proper margins and padding to clearly distinguish the pagination links from "edit translation" link.
  2. 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.
Approach: this can be done by improving group-selector javascript in a more organised way. it requires more discussion with the mentors.

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.

Deliverables:

Project: One Stop Translation Search
this project includes completion of all above mentioned tasks with well defined user-friendly interface having more filter options.

PROJECT SCHEDULE
detailed timeline of the project will be as follows:

DeadlinesMilestones
Before May 25make 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 7design and implement a process to add status field in order to filter messages.
June 9 - June 19design and implement a way to show the filtered messages in user's (target) language.
discuss with mentors the user interface
June 20 - June 26improving the search interface, adding filter tabs (translated, untranslated etc)
improve pagination links as per discussed with mentors.
June 27 - June 28mid term evaluation (Task 1 completed)
June 30 - July 7discuss 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 13implement the specialised search.
July 15 - July 21coding the feature to select multiple group selectors and search using sub-groups. (task 2 completed)
July 23 - July 30discuss the possible solution of task 3.2 with mentors
implement the solution (task 3 completed)
August 3 - August 8Unit testing of the code and gathering bugs/errors
August 9 onwardsBug fixing and improving the documentation
August 17Pencils Down
August 22Submitting code samples to Google

PARTICIPATION

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.

ABOUT ME

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:

  1. Styling of pagination links (link) : get to know about css and php coding conventions, button styling etc
  2. Result in target language (link): get to know about elastic search queries and its functioning.

Emergency plan
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.

Event Timeline

AYUSH claimed this task.
AYUSH raised the priority of this task from to Medium.
AYUSH updated the task description. (Show Details)
AYUSH subscribed.

Congratulations and thanks for your first Translate patch merged yesterday. :) We'll try to review the other patches as soon as possible, keep going.

thanks Nemo_bis.. i will submit more patches.. :)