Jump to content

MediaWiki Language Extension Bundle

shortcut: MLEB
From mediawiki.org


The MediaWiki language extension bundle (MLEB) is a curated set of MediaWiki extensions offering multilingual features. It attempts to provide an easy way to bring comprehensive language support to a MediaWiki.

Overview of extensions

The current version of MLEB contains the following extensions: [1]

MLEB is released semi-annually after the new MediaWiki release and will only support the latest MediaWiki version. The bundle is tested against recent MediaWiki release versions, so you can avoid most of the temporary breaks that would happen if you were using the latest development versions of each extension.

Motivation

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 common 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, translatewiki.net and other sites.

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.

Release notes and downloads

Latest release

2024.07
Highlights
  • As per discussion on phab:T356847 this is the last release to support MediaWiki 1.41 and MediaWiki 1.42. Moving forward, MLEB will be released semi-annually after the new MediaWiki release and will only support the latest MediaWiki version.
  • Support has been dropped for MediaWiki 1.40. MLEB 2024.07 supports >= MediaWiki 1.41.
2024.04
Highlights
  • We're planning to make changes to how and when we release MLEB. You can read more about it on phab:T356847 and leave your comments.

Previous releases

2024.01
Highlights
  • MediaWiki Language Extension Bundle 2024.01 no longer supports MediaWiki 1.39 and requires MediaWiki 1.40 or above.
  • The hook Translate:GettextFFS:headerFields has been deprecated, use Translate:GettextFormat:headerFields instead.
2023.12
Highlights
  • Translate extension: Fix broken Special:SpecialPages for MediaWiki 1.40, and 1.39 (task T351959).
2023.10
Highlights
  • Translate extension: Removed mirrors option when providing configuration for translation memory.
2023.07
Highlights
  • This release of MLEB now requires MediaWiki >= 1.39
2023.04
Highlights
  • This is the last release of MLEB supporting MediaWiki >= 1.38
2023.01
Highlights
  • MLEB now requires PHP >= 7.4 and MediaWiki >= 1.38
2022.10
Highlights
  • [SECURITY] Translate: Adds missing block checks to various pages and API (task T302479, Gerrit change 838940)
  • This will be the last MLEB release supporting PHP 7.3 and MediaWiki 1.37
2022.07
LocalisationUpdate
  • LocalisationUpdate extension is removed from MediaWiki Language Extension Bundle. Please read the announcement.
Translate
2022.04
LocalisationUpdate
  • We're planning to sunset the LocalisationUpdate extension from version 2022.07. Please read the announcement.
Translate
  • If you are using translation memory with ElasticSearch backend, we recommend rebuilding the translation memory index. This can be done by running php <path_to_mediawiki_core>/extensions/Translate/scripts/ttmserver-export.php

Show all releases.

Downloading with Git

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 Translate UniversalLanguageSelector
 do
   if [ ! -d "$ext" ]
   then
     git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/$ext.git
   fi
   cd $ext; git fetch --tags; git checkout 2024.04; cd ..
 done


Installation

Installation requirements

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

Add/update your LocalSettings.php

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( 'Translate' );
$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

Command line

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

php maintenance/update.php

Web browser

Go to example.com/mediawiki/mw-config/ (see Manual:Upgrading#Web browser) by using your domain and path and rerun install.

Configuring and using extensions

See the respective extension documentation pages.

Background

MLEB does not use version-specific branches of extensions. It's a snapshot from master which is verified to be working with the latest MediaWiki releases at the time MLEB is released.

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. We may drop support for EOL versions of PHP, but will have at least one compatible version for each MediaWiki version we support.

References

  1. LocalisationUpdate is no longer part of MLEB since 2022.07 release.