Wikimedia Language engineering/Reports/2016/August

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.
 * Santhosh Thottingal upgraded the chart.js library used for the statistics graphs. This fixed many visualization related glitches for graphs
 * Aaron Schulz fixed a deadlock pattern around the saving of translations.
 * Niklas Laxström configured the ULS trigger to be shown at personal toolbar position when used in Content translation special pages.
 * Santhosh Thottingal improved the inline template adaptation. This addressed cases like target language template is a redirect.
 * Santhosh Thottingal fixed a case of Reference list being removed from the source article for some tempaltes
 * Niklas Laxström fixed an error in ApiContentTranslationPublish that was causing a PHP error
 * Niklas Laxström added throttling for translation save events and apis in an attempt to prevent over usage of APIs
 * A change in MediaWiki core caused the custom skin for CX broken. Santhosh Thottingal fixed it
 * Template adaptation now uses Extension:TemplateData for finding out the parameter matching. Santhosh Thottingal working on a major improvement in template adaptation
 * Santhosh Thottingal fixed a performance issue related to image namespace requests in target wikis

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 40 patches in total were merged in August.


 * Niklas Laxström removed two deprecated functions from TranslateYaml.
 * Glaisher improved precondition checking for moving translatable pages.
 * Glaisher split off export functionality from Special:Translate to new Special:ExportTranslations. T49072
 * Glaisher improved save failure detection on Special:Translate. T142291, T61715
 * Glaisher fixed an error that caused yellow failure color to stay stuck in proofreading mode of Special:Translate. T132890
 * Glaisher made it possible to target translations with AbuseFilter extension. T142292
 * Glaisher improved the way warnings about translations are displayed on Special:Translate. T142331
 * Pratik Lahoti taught Special:PagePreparation to support page-internal links. T68640
 * Fomafix, Kunal Mehta and Timo Tijhof improved code by replacing calls to deprecated code.
 * Federico Leva taught characterEditStats.php script how to do statistics for history older than 30 days. T64833
 * Glaisher improved the code which shows translation information on translation pages.
 * Niklas Laxström fixed an issue in sandbox that caused broken log entries to be created. T142995
 * Niklas Laxström fixed an issue in sandbox that caused provided emails to be lost. T143551
 * Glaisher improved how Translate checks and enforces restrictions for non-translatable languages.
 * Niklas Laxström removed unused codes that were for compatibility for unsupported versions of MediaWiki core.
 * Aaron Schulz improved our code to access master (or any) database less often.
 * C0nnex taught Translate to support new authentication method for Microsoft Translate API. T46679
 * Niklas Laxström removed the broken new line handling from Microsoft Translate API support. T60121
 * Niklas Laxström refactored some translation message table code to be more maintainable.

Usage data

 * Translatable pages: Meta 3026 (+77) ; MediaWiki.org 3099 (+28) ; Commons 492 (+18)
 * Translate extension is installed on 215 wikis (+2) Wikiapiary

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

About 30 patches were merged this month.


 * Santhosh Thottingal, Niklas Laxström and Amir Aharoni improved the compact language links suggested languages selection algorithm.
 * James Forrester submitted a maintenance patch for code quality.
 * Niklas Laxström refactored the language name search for future extensibility and maintainability.
 * Niklas Laxström did some code maintenance patches.
 * Jon Robson enabled some resource loader modules for the mobile site after replacing some non-mobile friendly dependencies.
 * Eran Roz made the flash of change when compact language links is applied to happen earlier.
 * Niklas Laxström changed the default geolocation provider.
 * Timo Tijhof reduced technical debt in our custom resource loader modules.
 * Fomafix made a code maintenance patch.

Other extensions
Babel (part of MLEB):
 * Sam Reed updated how unit tests are registered.
 * Ricordisamoa taught Babel to normalize language codes before used in category names.

cldr (Common Locale Data Repository) (part of MLEB):
 * No updates.

CleanChanges (part of MLEB):
 * No updates.

LocalisationUpdate (part of MLEB):
 * Sam Reed updated how unit tests are registered.

TranslationNotifications:
 * Glaisher maintained code by replacing usage of deprecated code.
 * Glaisher taught Special:NotifyTranslators to show proper error message for invalid language selection. T62393.

MLEB
MLEB 2016.08 was released in August.

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

jquery.i18n .

jquery.uls

jquery.webfonts

jquery.ime

translatewiki.net
See also translatewiki.net news page.

Stats

 * About 50 (-30) new users
 * About 375 (+65) translators made about 43.000 (+2.000) edits
 * About 100 (+0) translators reviewed about 26.000 (+8.000) translations

Sources:     

TwnMainPage

 * Sam Reed updated how unit tests are registered.
 * Niklas Laxström updated code to match MediaWiki core updates.
 * Niklas Laxström fixed a bug that broke user registration.
 * Time Tijhof improved the resource loader module that provides project icons for speed and maintainability.

Deployments and other site related updates

 * Sébastien Santoro submitted patch to enable Content Translation in newly created Tulu Wikipedia.