Thread:Talk:Requests for comment/Localisation format/Implementation of RfC completed

The implementation of the RfC is now complete. The following patch sets have been generated with their respective states:


 * 4 open json-i18n
 * 589 open json-i18n
 * 5 open json-i18n
 * 13 open json-i18n

Total number of involved patch sets: 611.

Below is a copy of a mailing list message I sent out a few days ago to wikitech-l:

Cheers!

Siebrand

Subject: Implementation JSON based localisation format for MediaWiki nearly completed

Long! tl;dr is in the first two paragraphs.

With the merging of https://gerrit.wikimedia.org/r/#/c/122787/, probably the largest patch set for MediaWiki ever (+548314, -714438), MediaWiki core is now using JSON for localisation of interface messages, per a recently adopted RfC[1]. Thanks Krinkle/Timo for reviewing!

Please be aware that if you have open patch sets touching *.i18n.php messages files or MessagesXx.php files, you will have to update your patch sets to match the new file layout and format.

In December 2013, the first MediaWiki extensions have already been migrated to use the JSON format. Today, Antoine/hashar enabled a JSON linter on the jslint job that runs on many Gerrit repositories' patch sets.

Since last week I've started to migrate first all MediaWiki extensions that are used by WIkimedia to use JSON i18n. At this time, 1.23wmf20 has about 50% of its extensions using the updated format. Migration of two extensions is taking a little longer[2], but Matt Flaschen is helping with that, and I expect that to be resolved soon.

Migration of all extensions has been going very smoothly - it's about 80% done. With the help of reedy/Sam Reed, Raimond Spekking/Raymond, Niklas Laxström/Nikerabbit and Adam Wight, so far 427 patch sets related to this project have already been reviewed and merged[3], 40 await review and I expect some 90 more to be submitted for the project to be completed.

Thanks also go to Roan Kattouw/Catrope for implementation of parts of the RfC together with Niklas, to Niklas for rewriting LocalisationUpdate to support the JSON format and more, and all who helped draft the RfC, including James Forrester, Santhosh Thottingal, David Chan, Ed Sanders, Robert Thomas Moen, and those who deserve credit but I have forgotten to mention.

Once all migrations are complete, I'll be doing a full export from translatewiki.net, which will cause a lot of JSON files to be touched, but will mostly update encoding (full UTF-8) and add a newline at enf of file where missing.

What's next? With this project almost completed, next order of business is creating an RfC on where to go with the data that now remains in the MessagesXx.php files (like date formatting, fallback, directionality, namespace names, special page names, etc.) and localisation for special page names, magic words and namespace names that are still being implemented using $wgExtensionMessagesDirs. Maybe this is something we could discuss and prototype during the hackathon. Please let me know if this is something you'd like to work on.

Again, thanks for the help, and apologies for the inconvenience these changes may have caused you!

[1] https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format [2] https://gerrit.wikimedia.org/r/#/q/status:open+topic:json-i18n-special,n,z [3] https://gerrit.wikimedia.org/r/#/q/status:merged+topic:json-i18n,n,z