MediaWiki Language Extension Bundle

Jump to navigation Jump to search
shortcut: MLEB

The MediaWiki language extension bundle provides easy way to bring ultimate language support to your MediaWiki. The bundle is a collection of selected few MediaWiki extensions needed by any wiki which desires to be multilingual.


The Universal Language Selector is a must have, because it provides an essential functionality for any user regardless of the number of languages they speak: language selection, font support for displaying scripts badly supported by operating systems and input methods for typing languages that don't use the Latin alphabet. It includes freely-licensed fonts, which cover most of the major languages of America, Europe, Middle East, India and South East Asia.

Maintaining multilingual content in a wiki is a mess without the Translate extension, which is used by Wikimedia Foundation, KDE, and other sites. With Localisation Update your users will always have the latest translations freshly out of the oven. The Clean Changes extension keeps your recent changes page uncluttered from translation activity and other clutter.

Don't miss the chance to practice your rusty language skills, use the Babel extension to mark the languages you speak and find other speakers of the same language in your wiki. And finally the cldr extension is a database of language and country translations.

MLEB has a regular release schedule, so that you can easily stay on the cutting edge with the constantly improving language support. The bundle comes with clear installation and upgrade instructions (see below). The bundle is tested against MediaWiki release versions, so you can avoid most of the temporary breaks that would happen if you were using the latest development versions instead.

Release notes and downloads[edit]

Latest release[edit]

  • 2018.07:
    sha256sum: 36aa80c78be6dcfb533f96dc25afdabd2fd4716452c1b5a6f2bc982def1af7bc [1]
    Announcement and Release Notes
    • Compatible with MediaWiki 1.30, 1.31 and above and requires PHP 5.5.9 or above.
  • Updated cldr to version 33.
  • Special:SupportedLanguages: List of authors is now sorted by the number of contributions.
  • Message keys coming from external files are now handled with more care and less likely to produce invalid or inaccessible pages. (T193023)
  • refresh-translatable-pages.php script can now use JobQueue, which is more efficient on wikis with thousands of translatable pages. (T195347)
  • Custom languages defined in $wgExtraLanguages now always appear in Special:Translate and Special:SearchTranslations. (T112889)

Previous releases[edit]

  • 2018.04:
    sha256sum: e8b4da822b2dcc7906e444a65e8924d8505c028c8636cdfe8d38059dc9ef1d1c [1]
    Announcement and Release Notes
    • Compatible with MediaWiki 1.29, 1.30 and above and requires PHP 5.5.9 or above.
  • Fixed compatibility with MediaWiki 1.29 release.
  • Added the 'translate' right to the 'editpage' grant. This will allow OAuth apps to translate.
  • Translation variables can now span multiple lines.
  • AndroidXml file format now includes authors.
  • Fixed Ctrl-Clicking in Compact Language Links. (T189582)
  • ULS trigger and settings are more keyboard accessible now. (T52793)
  • Language search results are not grouped by region.
  • 2018.01:
    sha256sum: a6d90633cf16dbf48c0481d1e073130717d98b9540c0d1b80059bb34946c6749 [1]
    Announcement and Release Notes
    • Compatible with MediaWiki 1.29, 1.30 and above and requires PHP 5.5.9 or above.
  • Translation filter is now part of the new recent changes interface if the new interface is available.
  • Almost all legacy non-TUX code has been removed from Translate.
  • Removed non-default webfonts for some languages in UniversalLanguageSelector.
  • User interface and search improvements in UniversalLanguageSelector.
  • 2017.07:
    sha256sum: c050c326bfa56d326fece072bed5e4be3e3ad3289b0a449313a2e7dbc4514c55 [1]
    Announcement and Release Notes
    • Compatible with MediaWiki: 1.27, 1.28 or above and requires PHP 5.5.9 or above.
  • Translate extension no longer bundles spyc library. If you need support for parsing and generating YAML files, and you don't have phpyaml extensions installed (HHVM provides it in PHP compatibility mode), then you can install spyc using composer update.
  • Information about the languages that the user knows in Babel is now cached to improve performance.
  • It is now possible to load Babel information from a Babel box on a global user page.
  • Compact Language Links the ability to show languages that logged-in users specified in the Babel box.
  • Several new IMEs are added and improved in UniveralLanguageSelector.
  • 2016.10:
    sha256sum: f82ac16b1a71433d68066c684c2e67379d3c435d1938044a9f0f0582cb6549b3 [1]
    Announcement and Release Notes
    • Compatible with MediaWiki: 1.26, 1.27 or above and requires PHP 5.5.9 or above.
  • Easy way to access wikitext editor from Special:Translate. T48955
  • Special:Translate now works with MobileFrontend. T102922
  • Special:Translate now works better in mobile devices. T146134
  • WebAPI module to query user's babel languages.
  • The style of ULS's dialogs have been updated and polished to be more streamlined (for real this time, was incorrectly claimed to be included in 2016.08).
  • 2016.08:
    sha256sum: aba09ead5f2c646e5960ce2aecc36866ee092079f51598d0aab461c7655410da [1]
    Announcement and Release Notes
    • Compatible with MediaWiki: 1.26, 1.27 or above and requires PHP 5.5.9 or above.
  • Translate extension now requires Elastica extension for ElasticSearch support. Wikimedia search plugin needs to be installed for ElasticSearch 2.x series.
  • Special:Translate now has a summary field.
  • Special:Translate is much more robust thanks to improved error handling and to many small bugs having been fixed.
  • Page translation is much more robust.
  • The sandbox feature of Translate extension requires MediaWiki 1.27 or newer.
  • Translate's export functionality is now on separate special page called Special:ExportTranslations
  • The style of ULS's dialogs have been updated and polished to be more streamlined.
  • The default geoip service for Universal Language Selector is changed because the old service is discontinued.
  • Major update on webfont formats: woff2 format added, eot and svg formats dropped.

Show all releases.

Downloading with Git[edit]

In your extensions directory do the following to get or update to the latest release and follow configuration instructions below.

 for ext in Babel cldr CleanChanges LocalisationUpdate Translate UniversalLanguageSelector
   if [ ! -d "$ext" ]
     git clone$ext.git
   cd $ext; git fetch --tags; git checkout 2018.07; cd ..


Installation requirements[edit]

Installation requirements of each piece of provided software are included in the respective documentation. See in particular:

Add/update your LocalSettings.php[edit]

Near the end of LocalSettings.php, you have to place this configuration:

wfLoadExtension( 'Babel' );

wfLoadExtension( 'cldr' );

wfLoadExtension( 'CleanChanges' );
$wgCCTrailerFilter = true;
$wgCCUserFilter = false;
$wgDefaultUserOptions['usenewrc'] = 1;

wfLoadExtension( 'LocalisationUpdate' );
$wgLocalisationUpdateDirectory = "$IP/cache";

require_once "$IP/extensions/Translate/Translate.php";
$wgGroupPermissions['user']['translate'] = true;
$wgGroupPermissions['user']['translate-messagereview'] = true;
$wgGroupPermissions['user']['translate-groupreview'] = true;
$wgGroupPermissions['user']['translate-import'] = true;
$wgGroupPermissions['sysop']['pagetranslation'] = true;
$wgGroupPermissions['sysop']['translate-manage'] = true;
$wgTranslateDocumentationLanguageCode = 'qqq';
$wgExtraLanguageNames['qqq'] = 'Message documentation'; # No linguistic content. Used for documenting messages

wfLoadExtension( 'UniversalLanguageSelector' );

Update database tables[edit]

Command line[edit]

In the directory where your LocalSettings.php is located, run the following command:

php maintenance/update.php

Web browser[edit]

Go to by using your domain and path and rerun install.

Configuring and using extensions[edit]

See the respective extension documentation pages. Do note that LocalisationUpdate does nothing by default and needs additional configuration to be run periodically.


MLEB does not use version-specific branches of extensions. It's a snapshot from master which is verified to be working with the specified MediaWiki releases. This means all MLEB extensions must follow the compatibility policy of supporting two latest stable MediaWiki releases in the master branch.

MLEB releases are created with a tool called Melange. If you are interested in that code (e.g. you want to change its code), see the Melange repository in Git.