Wikimedia Language engineering/Reports/2017/January

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.

Content Translation
Content Translation allows people to translate Wikipedia articles. Also check out out the newsletter.

About 20 patches were merged this month.


 * Niklas Laxström fixed a bug related to long and non-ASCII headers. T154279
 * Fomafix maintained the code by replacing a one type of deprecated jQuery construct.
 * Fomafix updated a few API queries to use newer format.
 * Santhosh Thottingal fixed some scrolling and position related regressions.
 * Santhosh Thottingal made the code to pass the target title to parsoid, which is needed for template translation. T154297
 * Santhosh Thottingal fixed publishing failure related to templates.
 * Kartik Mistry fixed many errors reported by Stylelint. T152079
 * Amir Aharoni made the user interface to always call template parameters as fields. 151865
 * Fomafix updated various URLs in the source code to use HTTPS.
 * Fomafix updated the code to pass arrays to API module without converting them to strings.
 * Santhosh Thottingal and Kartik Mistry replaced jshint, jscs, jsbeautify with eslint in cxserver.
 * Santhosh Thottingal changed the h1,h2.. ids to fixed length sha256 based ids.

Usage data
There's a spike in deletions because one-time spike of bad machine transations in Malagasy Wikipedia (mg), after which 547 pages were deleted. Without it, the number is 647.

Translate
Translate extension allows translation of software interface, manuals, announcements, banners etc. on Wikimedia special projects, translatewiki.net and other sites. Translate is part of MLEB.

About 10 patches were merged in this month.


 * Phantom42 added support for some HTML tags to appear as insertables during translation. T106632
 * Huji Lee made translation memory match percentages localised. T153514
 * Fomafix maintained the code by replacing a one type of deprecated jQuery construct.
 * Justin Du maintained the code by accessing the UtfNormal library in non-deprecated way. T153994
 * Max Semenik maintained the code by correcting some class annotations.
 * Niklas Laxström rewrote the Android file format support code to use shared code for plural handling.
 * Niklas Laxström fixed the handling of HTML entities in the Android file format. T148549
 * Niklas Laxström fixed a regression that prevented translation admins from performing message renames properly. T148892
 * Aaron Schulz strengthened page translation code against replication lag.

Usage data

 * Translatable pages: Meta 3322 (+42) ; MediaWiki.org 3287 (+34) ; Commons 585 (+84)
 * Translate extension is installed on 215 wikis (+2) Wikiapiary

Universal Language Selector
Universal Language Selector provides language choice, input methods and web fonts. It is part of MLEB.


 * Fomafix maintained the code by replacing a one type of deprecated jQuery construct.
 * Fomafix improved the code to avoid flash during page rendering. First patch of two was merged in January.
 * Fomafix maintained the code by removing  which is now bundled with MediaWiki core. T153635
 * Fomafix maintained the code by using  module from MediaWiki core. T153635
 * Ed Sanders updated build configuration.
 * Amir Aharoni and Kartik Mistry updated the bundled upstream libraries  and.

Other extensions
Babel (part of MLEB):
 * This, that and the other fixed issues related to category names containing language codes with variants. T146778
 * This, that and the other made edit summaries of automated edits to use the content language as opposed to interface language. T46623

cldr (Common Locale Data Repository) (part of MLEB):
 * Ed Sanders updated build configuration.

CleanChanges (part of MLEB):
 * Rudloff fixed code that was causing PHP notices after a MediaWiki core change. T151825

LocalisationUpdate (part of MLEB):
 * No changes.

TranslationNotifications:
 * No changes.

MLEB
MLEB 2017.01 was released this month. It contains a fix for reported incompatibility in the Babel extension, among other changes.

MediaWiki core internationalization
This is a new, experimental section in this report. Coverage might not be comprehensive.


 * Federico Leva added many new fallbacks to existing languages. gerrit
 * Leszek Manicki removed unused code in s.
 * This, that and the other made invalid UTF-8 sequences to be replaced with  in edit summaries. T95353
 * Justin Du added a WebAPI to set the language of a wiki page. T74958
 * David Sn added a  magic word to get the language of a wiki page. T59603
 * Amir Aharoni fixed a mistake in grammar transformations for.
 * Jack Phoenix enhanced the  hook to pass a language code.
 * Aaron Schulz maintained
 * Bartosz Dziewoński fixed display of block durations given in relative format. T55907

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

jquery.i18n
 * No changes

jquery.uls
 * The Discoverer updated the language name of  and  . T137222

jquery.webfonts
 * No changes.

jquery.ime
 * The Discoverer updated the name of input method for . T137222

translatewiki.net
See also translatewiki.net news page.


 * Federico Leva, Siebrand Mazeland and Niklas Laxström migrated a lot of projects to repong and translatewiki.net GitHub account for smoother updates.
 * Raimond Spekking added many MediaWiki extensions for translation, and made changes to others.
 * Stephen Niedzielski converted Wikimedia apps to repong and thus to the regular export/import cycle.

Stats

 * About 85 (+5) new users
 * About 375 (+30) translators made about 38.000 (-8.000) edits
 * About 95 (+20) translators reviewed about 9.500 (=) translations

Sources:     

TwnMainPage

 * No changes

Deployments and other site related updates

 * Marko Obrovac upgraded cxserver to use Node v6.9.1.
 * Kartik Mistry added more information in MT error logs.

Cross team work/requirements

 * Started discussion with Analytics team to improve metrics data collection for Language team projects

Team status

 * Development was slow during this month due to travels and holidays.