chobo
chobo

Reputation: 32281

How to setup language links in MediaWiki?

How can I setup language links in MediaWiki to use the translations for the interface? I would like to have this available on all pages for both registered and unregistered users.

Upvotes: 2

Views: 1519

Answers (4)

Mastergalen
Mastergalen

Reputation: 4389

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.

Upvotes: 0

chobo
chobo

Reputation: 32281

I asked this question in a few places, and I found out that the language links I was after are not part of the default MediaWiki install. You have to modify a couple of template files.

Upvotes: 0

Tgr
Tgr

Reputation: 28160

It is not quite clear what you are asking, but interlanguage/interwiki links can be defined in the interwiki table in the database.

Upvotes: 0

Adrian Archer
Adrian Archer

Reputation: 2323

To create an interlanguage link from a page, just type [[language prefix:pagename]] wherever you like in the page; the language prefix is the prefix specified at your wiki for the other language version (typically the ISO language code).

If you want to make the interlanguage link to appear in the content of the page, you can add a colon before the language prefix, e.g. [[:en:Sunflower]].

Source:http://www.mediawiki.org/wiki/Help:Links#Interlanguage_links

There is no way to automatically do this for all pages, because after all how would mediawiki know what the name of the page in the other language was without you specifying it.

Upvotes: 2

Related Questions