Wikimedia Language engineering/Reports/2017/June

May 2017 Wikimedia Language engineering monthly report for June 2017 July 2017

Monthly updates from the Wikimedia Language team focused on technical development of the software they maintain. Names of people assumed to contribute as volunteers are in bold text.


  • Petar Petković joined the team as a Software Engineering intern.
  • Universal Language Selector now has many new input methods contributed by nine different volunteers.
  • The Compact language links feature now honors the Babel languages set in the user pages.
  • Developers can now more easily test script conversion with the new Pig Latin variant for English.

Content Translation[edit]

Content Translation allows people to translate Wikipedia articles. Also check out out the newsletter. Over 30 patches were merged this month.

  • Santhosh Thottingal removed the code that was accessing the deprecated cx_drafts database table. Translators were notified via a message in Tech News to check old drafts now before the new code goes live. After that old unmigrated drafts are no longer accessible. T169171
  • Santhosh Thottingal fixed a bug in template adaptation that was preventing translation of certain infoboxes. T169030
  • Santhosh Thottingal implemented the save and retry mechanism for CX2.
  • Santhosh Thottingal rewrote the CX2 initialization code for better error handling and parallel loading.
  • Santhosh Thottingal added option for setting the default namespace for publishing translation per user group. T166854
  • Niklas Laxström improved the machine translation for links in fresh translation and restored translation contexts in CX2
  • Niklas Laxström and Santhosh Thottingal did various code refactoring and polishing for the CX2 code framework.
  • Kunal Mehta updated PHP code style checker.
  • Niklas Laxström fixed an issue in template adaptation related to jQuery 3 migration. T168621
  • Petar Petković improved the styling of tools cards in CX2. T168267
  • Santhosh Thottingal removed obsolete code related to data-seqid attribute in CX and CXServer.
  • User Fomafix replaced deprecated jQuery.isArray by Array.isArray.
  • Petar Petković adjusted the layout of translation list items in the CX dashboard with refreshed icons and changed position for tags (e.g. featured article). T160356.
  • User Umherirrender updated coding style in special page aliases file.

Usage data[edit]

Details Numbers
Articles created (during the month) 10974
Articles created till end of month 217052
Number of new translators (during the month) 1158
Highest number of articles created by one user

(cumulative number till end of the month)

Highest number of translators for a Wikipedia

(cumulative number till end of the month)

4942 (es)
Total number of translators with only 1 published article

(cumulative number till end of the month)

Total number of translators with only 2 published articles

(cumulative number till end of the month)

Total number of translators with only 3 published articles

(cumulative number till end of the month)

Total number of translators with only 4 published articles

(cumulative number till end of the month)

Total number of translators with >= 5 and < 20 published articles

(cumulative number till end of the month)

Total number of translators with >= 20 and < 100 published articles

(cumulative number till end of the month)

Total number of translators with >= 100 published articles

(cumulative number till end of the month)

Articles deleted (during the month) 671



Translate extension allows translation of software interface, manuals, announcements, banners etc. on Wikimedia special projects, and other sites. Translate is part of MLEB. 10 patches were merged this month.

  • Niklas Laxström did small code cleanups to ArrayFlattener class.
  • User Umherirrender updated coding style in special page alias file.
  • User Umherirrender updated the minimum required PHP version to match reality.
  • User Tacsipacsi converted the non-TUX edit view buttons to use OOjs UI when available.
  • Niklas Laxström made it so that all translatable page related mark-up is hidden on section previews, as those likely do not construct a well-formed document withing a section. T168743
  • Niklas Laxström added informative warning message that warns about non-existent message groups.
  • Niklas Laxström fixed a bug that could cause translation completion statistics to not update in some situations (e.g. translatable pages within an aggregate message group).

Usage data[edit]

  • Translatable pages: Meta 3811 (+103); 3408 (+3); Commons 639 (+6) [1][2][3]
  • Translate extension is installed on 219 wikis (+4) Wikiapiary

Universal Language Selector[edit]

Universal Language Selector provides language choice, input methods and web fonts. It is part of MLEB. About 10 patches were merged this month.

  • Amir Aharoni added to Compact Language Links the ability to show languages that logged-in users specified in the Babel box. T135371
  • Amir Aharoni updated jquery.uls and jquery.ime libraries from upstream.
  • Kunal Mehta updated PHP code style checker.
  • User Fomafix added a dependency that was not declared to a resource loader module.

Other extensions[edit]

Babel (part of MLEB):

  • Kunal Mehta improved user language information cache purging.
  • User Umherirrender updated build files.

cldr (Common Locale Data Repository) (part of MLEB):

  • Kunal Mehta updated PHP code style checker.

CleanChanges (part of MLEB):

  • Kunal Mehta updated PHP code style checker.

LocalisationUpdate (part of MLEB):

  • Sam Reed updated the README file.
  • Kunal Mehta updated PHP code style checker.


  • James Forrester replaced the jshint code style checked with jscs and eslint.
  • User Umherirrender updated coding style in the special page aliases file.


No MLEB was released in this month. Next release is planned for July.

MediaWiki core internationalization[edit]

Changes to translations and equivalent localisation data (magic words, namespace names) are not included in this list. The volunteer translators are updating translations every day to keep up with changes.

  • Brad Jorsch made MediaWiki to always set a shell locale early in the startup, for consistent behavior. T107128
  • Amir Sarabadani added a new PHP interface MessageLocalizer that is more specific than IContextSource. It allows writing code with less dependencies. T162594
  • User Fomafix fixed a bug that caused our special purpose language codes to appear as selectable languages in the installer.
  • User Chiefwei updated Chinese script conversation data.
  • User Liangent and C. Scott Ananian added a pig latin variant for English to make testing variants easier. T45547
  • Matěj Suchánek made it possible to localise strings like 2× (two times).
  • Brad Jorsch split the API self-documentation description messages into "summary" and "additional text" parts. T166411
  • Brian Wolff fixed an issue with Persian collation that was caused by an update in ICU library. T139110
  • User Sfic made MediaWiki use Devanagari numerals for list items when the language is Maithili. T168781

Project Milkshake[edit]

Project Milkshake consists of four re-usable jquery internationalization libraries.


  • User ldittmar made a fallback log message more informative.


  • Amir Aharoni added five African languages and one Asian language to the language database.
  • Amir Aharoni improved the language database by making sure all language autonyms are unique.
  • Niklas Laxström added a reference to code of conduct.


  • No changes.


  • Amir Aharoni added an input method for the Fula, Wolof language and improved the keyboard for the Dagbani language.
  • Kartik Mistry and Amir Aharoni merged numerous pull requests from volunteers:
    • Kannada language input methods now also work for the Tulu language.
    • Added Tarandine language keyboard by Joetaras.
    • Added Piedmontese language keyboard by GatoSelvadego.
    • Fixes to the Odia transliteration keyboard by Psubhashish.
    • Added the Tulalip input method for the Lushootseed language by jcrowgey.
    • Added Sambhota input method for Tibetan language by Elie Roux.
    • Added a Gothic input method by Bokareis.
    • Added added mm3 input method for the Burmese language by Lionslayer.
    • Added input methods for the Mongolian language by Feilong Huang.
    • Fixes to the Tamil 99 input method for the Tamil language by Balajijagadesh.[edit]

See also news page.

  • Raimond Spekking added new MediaWiki extensions and skins for translation, made changes to many and did exports and imports for all MediaWiki.
  • Niklas Laxström continued work on unifying all project exports to one standard.
  • Federico Leva added new project Internet Archive Bot for translation. T166996
  • Jon Robson added new MediaWiki skin Minerva Neue for translation. T166743
  • Amir Aharoni added new language Dagbani (dag) for translation.
  • Federico Leva added around 200 new messages to the MediaWiki most used messages group to avoid confusions why completing this group is not enough to meet the export threshold for MediaWiki core. T166132
  • Amir Aharoni fixed the language autonym for Tsakhur (tkr).
  • Niklas Laxström fixed our self made service files to start services automatically on boot.
  • Niklas Laxström removed project Entryscape from translation.
  • User Umherirrender updated alias file definitions for MediaWiki extensions.


  • About 85 (+5) new users
  • About 325 (-5) translators made about 42.000 (=) edits
  • About 85 (-5) translators reviewed about 9.500 (-1.000) translations

Sources: [4] [5] [6] [7] [8]


  • Kunal Mehta updated PHP coding style checker.

Deployments and other site related updates[edit]

Cross team work/requirements[edit]

  • Working with David Chan on integrating Visual Editor as editing surface for Content Translation v2.

Team status[edit]