Page MenuHomePhabricator

Extensive and robust localisation file format coverage for Translate extension
Closed, DeclinedPublic


Translate extension supports multiple file formats. The formats have been developed "as needed" basis, and many formats are not yet supported or the support is incomplete. In this project the aim would be to make existing file formats (for example Android xml) more robust to meet the following properties:

  • the code does not crash on unexpected input,
  • there is a validator for the file format,
  • the code can handle the full file format specification,
  • the code is secure (does not execute any code in the files nor have known exploits).

Example known bugs are T33331, T38584, T40479, T42712, T33300, T59964, T51412.

In addition new file formats can be implemented: in particular Apache Cocoon (T58276) and AndroidXml string arrays have interest and patches to work on, but we'd also like TMX, for example. Adding new formats is a good chance to learn how to write parsers and generators with simple data but complicated file formats. For some formats, it might be possible to take advantage of existing PHP libraries for parsing and file generation. (More example formats other platforms support: SDF/GSI, Desktop, Joomla INI, Magento CSV, Maker Interchange Format (MIF), .plist, Qt Linguist (TS), Subtitle formats, Windows .rc, Windows resource (.resx), HTML/XHTML, Mac OS X strings, WordFast TXT, ical.)

This project paves the way for future improvements, like automatic file format detection, support for more software projects and extension of the ability to add files for translation by normal users via a web interface.

At some point in time you'll need to set up a Translate wiki, familiarise yourself with message group configuration and play with some l10n files borrowing from system (all available in its repository).

  • Possible mentors: Niklas Laxström, Federico Leva, Siebrand Mazeland

Event Timeline

Niharika raised the priority of this task from to Needs Triage.
Niharika updated the task description. (Show Details)
Niharika added a subscriber: Niharika.
Niharika set Security to None.
Nikerabbit triaged this task as Lowest priority.Feb 11 2015, 7:48 AM

I don't see a purpose for this tracking bug, it looks like unnecessary paperwork. I recommend to close as invalid and keep the description on wiki, as with most development projects.

This was copied from

If it is not a good candidate for GSoC etc, then we should at least remove the #Possible-Tech-Projects tag.

Wikimedia will apply to Google Summer of Code and Outreachy on Tuesday, February 17. If you want this task to become a featured project idea, please follow these instructions.

I don't understand the instructions. Is it now forbidden to store the project descriptions on wiki?

It is more efficient to have the project idea description in one place instead of two, and it is more efficient to have them here among the rest of tasks than in a separate page that most of the time is not checked by almost anyone. See T76341.

Hi. I would like to work on this project for GSOC and Outreachy. I have completed the basic setup, so I wanted a few pointers on where to start? Where can I start understanding the working of the translate extension from?

Hi Ayushimrigen! Please follow the docs starting at , then ask questions on talk page saying what you did and what went wrong.

Once you're done with the setup, as the project description says, start sending small patches in related repositories to familiarise yourself with MediaWiki. A good example is what the other AYUSH is doing. ;-)

We're holding an IRC meeting on March 25, at 1700 UTC for prospective GSoC and Outreachy participants with Wikimedia, on #wikimedia-office channel. Do join us!

Hello! The IRC meeting tomorrow has been shifted to #wikimedia-ect channel. Looking forward to seeing you there. :)

@Nikerabbit @Nemo_bis @siebrand this project is still featured at Possible-Tech-Projects. Do you want to propose it for Outreachy-Round-11 for December-March?

This is a message sent to all Possible-Tech-Projects. The new round of Wikimedia Individual Engagement Grants is open until 29 Sep. For the first time, technical projects are within scope, thanks to the feedback received at Wikimania 2015, before, and after (T105414). If someone is interested in obtaining funds to push this task, this might be a good way.

The topic is still very valid and relevant, as it enables further automation of handling of localisation files.

However, I am very hesitant about proposing anything for a while due to the fact that both the Language team (my work time) and my free time are already overloaded.

I am interested in working for this project. I would like to know more about it albeit from a novice point of view. Also, I see that it is listed under the Missing mentors board, I was wondering what could be done about that. :)

Hi Soum213, thanks for your interest. Please see - that page covers both of your questions.

In this case, the relevant comment is T89102#1665966. Almost three weeks later, it is very unlikely that we will find alternative mentors for this project idea. I have move it to a new column Re-check in February 2016. Sorry.

NOTE: This task is a proposed project for Google-Summer-of-Code (2016) and Outreachy-Round-12 : GSoC 2016 and Outreachy round 12 is around the corner, and this task is listed as a Possible-Tech-Projects for the same. Projects listed for the internship programs should have a well-defined scope within the timeline of the event, minimum of two mentors, and should take about 2 weeks for a senior developer to complete. Interested in mentoring? Please add your details to the task description, if not done yet. Prospective interns should go through Life of a successful project doc to find out how to come up with a strong proposal for the same.

I am not going to promote this proposal this time.

@Nemo_bis: I don't see why this was closed as "declined". It's still a valid task, just on the backlog, and just not being worked on "this time".

Because none of the mentors has confidence in receiving a suitable application for this project through GSoC or OPW as of the last year and the foreseeable future.