Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make a MediaWiki site multilingual

I've installed a MediaWiki site. I think default MediaWiki supports only one language which is configured during installation.

Is there a way in MediaWiki to support two or more languages like wikipedia.org? Available languages for a page should be listed on left side like Wikipedia, and when a user clicks a language, the version of the page in the selected language can be seen.

What is the conventional way to support multilingualism?

like image 479
Muatik Avatar asked Aug 27 '12 14:08

Muatik


People also ask

What language does MediaWiki use?

PHP - the primary language that MediaWiki was originally written in, and which most new code in MediaWiki uses. JavaScript - language used for many important components of MediaWiki, notably VisualEditor, Parsoid, and all Gadgets, not to mention most code delivered to the browser via ResourceLoader for execution.

How can I view Wikipedia in another language?

A list of available languages is visible in the left sidebar of the desktop version of Wikipedia under the "Languages" section.

Is MediaWiki the same as Wikipedia?

MediaWiki is a free and open-source wiki software. It is used on Wikipedia and almost all other Wikimedia websites, including Wiktionary, Wikimedia Commons and Wikidata; these sites define a large part of the requirement set for MediaWiki.

What is the so called MediaWiki?

MediaWiki is a free software wiki package written in PHP, originally for use on Wikipedia. It is now used by several other projects of the non-profit Wikimedia Foundation and by many other wikis, including this website. We use MediaWikis in several other projects, including writing-to-learn wikis in high schools.


2 Answers

An easier way for smaller wikis is through the use of a simple template. It may not be as efficient as an extension or creating a family of wikis, which is a lot of work, but quite fast to set up.

Create a page under Template:Otherlang with the following code:


{{otherlang
|ru=Template:Otherlang:ru
}}

This template adds available translations for the page to the top through the use of flags.

To prevent issues, this template must be placed '''at the very beginning of a page'''.

Tip! When contributing a new translation to a document that already has other translations, please carry over the existing translations to the otherlang template of your contributed page. This way all multilingual pages are linked.

== Syntax ==
{{otherlang
| noborder=true (OPTIONAL)
| title=localized page display title
| lang=page:lang
| lang2=page:lang2
| etc...
}}
Warning! Do not include the language of the current page. This will only confuse readers. === Example === On a page called [[Template:Otherlang]]:
{{otherlang
| title=Template:Otherlang
| ru=Category:Programming:ru
}}
Note that: * The language "en" is not included, as it is the language of the page that template is being used on. * title is assigned the translated name of the page, and will appear as the display title (heading) for the page. This can replace the existing {{wrongtitle}} and {{DISPLAYTITLE}} templates currently in common use. * The English page has no suffix. == Available Languages == {| class="table table-bordered" border="2" cellpadding="7" ! Language ! Syntax ! Result |- id="en" |English |en=Page_name |[[File:En.png]] |- id="ru" |Russian |ru=Page_name:ru |[[File:Ru.png]] |} {{#if: {{{title|}}} | {{DISPLAYTITLE:{{{title}}}}} }}{{#if: {{{en|}}} | '''[[File:En.png|alt=English|link={{{en}}}]]''' }} {{#if: {{{ru|}}} | [[File:Ru.png|alt=Русский|link={{{ru}}}]] }}

Then within each English article, paste use the following code to get a flag to show up, representing the respective language.

{{otherlang
| title=Tutorials/Galacticraft Getting Started Guide
| ru=Tutorials/Galacticraft_Getting_Started_Guide/ru
}}

An example of this can be found here. If you click on the Russian flag to the right you will find a Russian translation of the article.

like image 98
Mastergalen Avatar answered Oct 03 '22 15:10

Mastergalen


There are two different ways to make a multilingual wiki setup.

  1. You can have a family of wikis each of which supports a different language. This is how the Wikipedias work (en.wikipedia.org, ru.wikipedia.org, es.wikipedia.org, etc). This is probably what you are aiming for. Pay special attention to the section on configuring interwiki links to get the links on the left hand side of the page.

  2. You can create one wiki that supports multiple languages. This is how meta.wikimedia.org works. For that, you want to use the Translate extension.

[Update 01.02.2021] the MediaWiki Language Extension Bundle is the currently encouraged way to realize a multilingual setup, incorporating the Translate extension as well as some other essentials that you'll end up needing anyway.

like image 22
Christian Avatar answered Oct 03 '22 14:10

Christian