Setting Up Multi-Language Support in MediaWiki Using Translate Extension
The zero-to-multilingual path for MediaWiki: core language settings, URL structure per language, the Translate extension, and the content workflow that keeps translations current.
'Multilingual MediaWiki' starts long before the Translate extension: core MediaWiki has a language system, and how you configure it decides whether the wiki works as one interlingual site or as awkward copy-pasted language islands. This guide covers the configuration path — core language settings, URL structure and the Translate extension — in the order you should implement it.
1. Core language configuration
MediaWiki can display in 400+ languages out of the box. Three core settings define the base:
$wgLanguageCode = 'en'; // the wiki's base content language
$wgLanguageFallbacks = [
'nl' => [ 'en' ], // what non-translated visitors see
'sv' => [ 'da', 'en' ],
];
$wgDefaultLanguageCode = 'en'; // hmm — not a setting; see note
Correction to the common copy-paste: $wgDefaultLanguageCode is not a thing — the two settings that matter are $wgLanguageCode (base language of content, set at install) and $wgLanguageFallbacks (which language to display when a page has no translation in the reader's language). Interface language is per-user — Special:Preferences — so there is nothing to configure for that part.
2. URL structure: one wiki vs. per-language wikis
The big architectural decision, made before content work starts:
- One wiki, language prefixes in URLs —
/wiki/Page,/wiki/de/Seiteetc., via$wgLanguageCode+ per-language URL implementation (the ULS and related extensions give the language switcher). Content lives with titles likeMain Page/de(Translate's page translation uses language subpages) — everything shares history, users, categories and search - Multiple wikis (one per language) — separate installations for en/de/fr; the choice of Wikimedia and large organizations with load concerns; costs duplicated infrastructure and cross-language linking
For most teams the single-wiki model with subpages is right: the Translate extension's page translation is built exactly for it.
3. The Translate extension and page translation
Install Translate (current versions require MediaWiki 1.46+), run the updater, and the multilingual machinery appears:
- Mark pages for translation — a translation administrator marks a prepared page; Translate splits it into units and offers them at
Special:Translate - Language subpages — translations are stored as
Main Page/de,Main Page/fr, and language linking works automatically both ways - No translation exists — readers get
$wgLanguageFallbackscontent or the base language, controllable per page
Details that matter in daily operation: keep templates and tables outside <translate> tags, mark pages for translation only after content stabilizes (source edits fuzz translations), and separate translator/reviewer groups as documented in the Translate configuration guide on this blog.
4. Language switcher and reader experience
- UniversalLanguageSelector — the compact language picker in the interface; also brings input methods and font support for CJK and other scripts
- Bilingual linking — with page translation active, interlanguage links are managed by Translate; manual
[[de:...]]links should be removed to avoid conflicts - Search — CirrusSearch (if you run it) handles language-aware analysis per page language; the default search per-language indexing is weaker but workable at small scale
5. Content strategy for actual multilingual operation
The configuration is the easy half; the workflow decides success:
- Stable source first — every English edit degrades existing translations; write, review, then mark for translation
- Priority languages — enable exactly the languages your community reads; 20 languages with 10% completion looks worse than 3 languages at 95%
- Statistics discipline —
Special:LanguageStatsweekly: which groups are behind, which languages are abandoned. Policy decisions follow the numbers
Done in this order — core language settings, URL model, Translate, language switcher, workflow — a wiki becomes genuinely multilingual instead of a set of parallel sites. The Translate help and the language manual close the remaining gaps.