Jump to content

Help:Interwiki linking on Wikimedia wikis

From Meta, a Wikimedia project coordination wiki
(Redirected from Help:Interwiki linking)
For information not specific to Wikimedia wikis, see mw:Manual:Interwiki and mw:Help:Interwiki linking

By adding a prefix to another project, internal link style ("prefixed internal link style") can be used to link to a page of another project. A system of shorthand link labels are used to refer to different projects, in the context of interproject linking, as seen within the actual source text. For example, en: refers to the English Wikipedia. This is seen in [[:en:Apple]], which produces en:Apple, a link to the English Wikipedia article on "Apple".

This is called "interwiki linking". The precise interwiki links used vary slightly for each project, and can be seen at Special:Interwiki.

Interwiki linking from and within Wikimedia

Within Wikimedia, for the purpose of interlanguage links (see below), the project families are Wikipedia, Wiktionary, Wikiquote, Wikibooks and Wikisource. Thus, this applies for a link like en:, de:, etc., from a Wikipedia to another one, from a Wiktionary to another one, from a Wikiquote to another one, from a Wikibooks to another one or from a Wikisource to another one.

Most of the time, interwiki links are handled by Wikidata instead, but the manual interwiki link syntax still works and is useful in edge cases.

Project titles and shortcuts

This list is incomplete. See Special:Interwiki for a full list of valid interwiki links.

Project Long form Shortcut
Wikipedia [[wikipedia:]] [[w:]]
Wiktionary [[wiktionary:]] [[wikt:]]
Wikinews [[wikinews:]] [[n:]]
Wikibooks [[wikibooks:]] [[b:]]
Wikiquote [[wikiquote:]] [[q:]]
Wikisource [[wikisource:]] [[s:]]
Wikisource (multilingual pages) [[oldwikisource:]]
Wikispecies [[wikispecies:]] [[species:]]
Wikiversity [[wikiversity:]] [[v:]]
Wikivoyage [[wikivoyage:]] [[voy:]]
Wikimedia Foundation [[wikimedia:]]
[[foundation:]]
[[wmf:]]
Wikimedia Commons [[commons:]] [[c:]]
Wikimedia Meta-Wiki [[metawiki:]]
[[metawikimedia:]]
[[metawikipedia:]]
[[meta:]]
[[m:]]
Wikimedia Incubator [[incubator:]]
Wikimedia Strategic Planning [[strategy:]]
MediaWiki [[mediawikiwiki:]] [[mw:]]
MediaZilla / Bugzilla [[mediazilla:]]
[[bugzilla:]]
Phabricator [[phabricator:]] [[phab:]]
Testwiki [[testwiki:]]
Wikidata [[wikidata:]] [[d:]]
Wikifunctions [[wikifunctions:]] [[f:]]
Wikitech [[wikitech:]]
Toolforge [[toolforge:]]
International chapters Shortcut
Argentina [[wmar:]]
Australia [[wmau:]]
Bangladesh [[wmbd:]]
Belgium [[wmbe:]]
Brazil [[wmbr:]]
Canada [[wmca:]]
Czech Republic [[wmcz:]]
Denmark [[wmdk:]]
Germany [[wmde:]]
Finland [[wmfi:]]
Hong Kong [[wmhk:]]
Hungary [[wmhu:]]
India [[wmin:]]
Indonesia [[wmid:]]
Israel [[wmil:]]
Italy [[wmit:]]
Netherlands [[wmnl:]]
North Macedonia [[wmmk:]]
Norway [[wmno:]]
Poland [[wmpl:]]
Russia [[wmru:]]
Serbia [[wmrs:]]
Spain [[wmes:]]
Sweden [[wmse:]]
Switzerland [[wmch:]]
Taiwan [[wmtw:]]
Ukraine [[wmua:]]
United Kingdom [[wmuk:]]
  • See a complete list of current and old but still working prefixes for all Wikimedia wikis at the Wikimedia SiteMatrix.


The long forms are sometimes overwritten by namespaces with the same name. For example [[meta:]] prefers to the Project namespace instead on Meta. The shortcuts should work everywhere.

The interwiki map on Meta lists many prefixes, among others, [[wikipedia:]] for the English Wikipedia, working from any Wiki supporting the Meta interwiki map (except for Wikipedias that use it as a project namespace).

The shortcuts have different histories. Wikipedia, Wikiquote etc. point to the English versions via an entry in m:Interwiki map, and are also included in the standard MediaWiki interwiki table; w, q, b, wikt etc. are used like interlanguage wikilinks to link to the sisterproject in the same language (so w:it:b: is equivalent to Wikibooks:it:), and are hardcoded rather than part of interwiki map.

Non-Wikimedia interwiki codes have a limitation, that they can only be used through a link. For example, the entry for "John" on Wiktionary, a Wikimedia project, can be accessed by [[wikt:John]] or http://meta.wikimedia.org/wiki/wikt:John. However, the latter method does not work for non-Wikimedia wikis. For example, the main page on the Mozilla Wiki can be accessed via [[MozillaWiki:Main Page]], but http://meta.wikimedia.org/wiki/MozillaWiki:Main_Page results in an error. In these cases, Special:Search can be used (http://meta.wikimedia.org/wiki/Special:Search/MozillaWiki:Main_Page). You can see the Interwiki special page for a list of "forward" and "non-forward" prefixes.


Technical

A project's namespace prefix cannot be reused as code for an external project. However, the prefix used for a target project may coincide with the prefix for a project namespace, within that project. You can't use one project's namespace prefix in another project's codebase because it might match a namespace within that same project. For example, MediaWiki:Sidebar exists on MetaWiki, Wikibooks, and MediaWiki. So, when you're linking to a page in that namespace, add the project prefix, like this: MetaWiki:MediaWiki:Sidebar, Wikibooks:MediaWiki:Sidebar, or Mediawikiwiki:MediaWiki:Sidebar.

When dealing with pages whose title begins with the projects prefix but the page is internal, for example Wikibooks:What is Wikibooks?, keep things consistent across projects by adding the projects prefix again. It becomes, Wikibooks:Wikibooks:What is Wikibooks?.

In the first example the Wikibooks: prefix gets in the way of recognizing Wikibooks: as a namespace in Wikibooks. But in MetaWiki, adding Wikibooks: makes the link to be treated as an interwiki prefix rather than a namespace, this allows links to be redirected to another project.

Prefixes

Interwiki links can use prefixes for the project and/or for the language. Without the prefix, links are local, for pages in the same project and the same language. If only a language is given, they go to a page in the same (or similar) project for the specified language. If a language is given on a multilingual wiki, it will go to the Wikipedia of the given language:

[[:fr:]] fr:
[[:os:]] os:

If only the project is specified, they typically go to the specified project in the corresponding language of the source, see above. At most, two prefixes are needed for pages in any existing project and any supported language. If a project is given on a multilingual wiki, it will go to the English version of the project:

[[s:de:Hauptseite]] s:de:Hauptseite
[[b:en:Main page]]  b:en:Main page
[[n:en:Main page]]  n:en:Main page

If the language is different, specifying it before the project can also work. However, this is discouraged, as it may not function as expected on some projects:

[[:de:q:Hauptseite]] de:q:Hauptseite (not recommended)
[[:en:n:Main page]]  en:n:Main page (not recommended)

More than two prefixes are generally unnecessary, the following examples should work everywhere:

[[m:Help:Help]] m:Help:Help
[[w:Interwiki]] w:Interwiki

Two prefixes can have unexpected effects, for example, from Meta, the following links end up on different pages:

[[m:en:About]]  m:en:About
[[:en:m:About]] en:m:About
[[m:About]]     m:About

In the first case Meta ignores the m:, because it is local and then, interprets en: as w:en:, the prefix for the English Wikipedia. In the second case, the leading en: goes to the English Wikipedia, where the following m: goes straight back to Meta.

In other words, multiple prefixes are evaluated left to right by the relevant Wikimedia servers (project and language). For projects without different languages, like Meta (because Meta is multilingual by itself), language prefixes can be handled as shorthands for w: plus the specified language:

[[:pl:2006]]   pl:2006
[[w:pl:2006]]  w:pl:2006
[[:pl:w:2006]] pl:w:2006

From Meta, the first two links both arrive at the Polish 2006 page. The third arrives at the English Wikipedia, because that's how the server selected by :pl: interprets the second prefix w:.

For a portable link on that server, it would be a bad idea to use w:, but :pl: does the trick. To test that effect from Meta, the following links should go to the same page:

[[:ja:2006]]    ja:2006
[[:ja:ja:2006]] ja:ja:2006

A universal interwiki link, that is, one that works no matter from which Wikimedia wiki, can be written [[m:project:language:page name]] (e.g. m:b:nl:Wiskunde); this routes the parsing of the links via Meta (bug 4285).

In short, if you want the links to always work in the same way, always use [[m:Example]] to link to anything on Meta-Wiki; always use [[w:en:Example]] to link to anything on English Wikipedia; always use [[q:de:Beispiel]] to link to anything on German Wikiquote.

Non-local interwikis

Technically, an interwiki defined as local is one which always "forwards" to the destination: such interwikis can always be concatenated. The examples above work because all those interwikis are local in all those wikis. Interwikis which are not local in the wiki where they're concatenated or used directly won't work. The following works:

[[MeatBall:AssumeGoodFaith]]    MeatBall:AssumeGoodFaith

All these don't ("Bad title" error):

[[w:MeatBall:AssumeGoodFaith]]    w:MeatBall:AssumeGoodFaith
https://meta.wikimedia.org/wiki/MeatBall:AssumeGoodFaith    https://meta.wikimedia.org/wiki/MeatBall:AssumeGoodFaith
https://en.wikipedia.org/wiki/MeatBall:AssumeGoodFaith    https://en.wikipedia.org/wiki/MeatBall:AssumeGoodFaith

Non-local interwiki links will still work if you type them in the search bar and choose "go".

For a complete list of current languages and language codes, see: w:List of Wikipedias

For a multilingual family of similar projects, with one project per language, a system for interlanguage linking can be set up, setting $wgInterwikiMagic to true and $wgHideInterlanguageLinks to false. If this project is in a family for which this applies, Help:Interlanguage link demo may demonstrate what is explained below (this depends on whether the same language codes are used).

An interwiki link within the family is treated differently, unless it is on a talk page of any namespace. It appears at one or two edges of the webpage (left in Monobook, top and bottom in Classic).

Thus, an interlanguage link is mainly suitable for linking to the most closely corresponding page in another language. It is not suitable for multiple links of the same other language. See Interlanguage use case for a discussion of common troubles with this system and other possible implementations.

The feature can also be used on an image description page, to link to the same or a similar image in a sister project. Other interwiki links to images require the prefixed colon.

Note that, if a page may be used as a template (even if it is not in the template namespace), it should note its interlanguage links between <noinclude> and </noinclude>. This is the same idea as for categories.

Comparison:

  1. [[:en:link]] or [[:category:name]] are ordinary links.
  2. [[m:en:link]] or [[m:category:name]] are interwiki links, see above.
  3. [[category:name]] without leading colon, adds a category to the page.
  4. [[en:link]] without leading colon, adds an interlanguage link to the page.
  5. <noinclude>[[category:name]]</noinclude> limits it to the actual page.
  6. <noinclude>[[en:link]]</noinclude> also limits it to the actual page.

For projects like Meta, a missing leading colon has no effect, because Meta doesn't support interlanguage links. For Wikipedia and similar projects, it is a major difference. The mutual order of interlanguage links is preserved, but otherwise the positions within the wikitext are immaterial, again the same rule as for categories. Usually they are put at the end. With section editing, they appear in the preview, if they are in the section being edited. A link to the project itself (hence, also a link to the page itself), even if referred to with the project prefix, appears in-page.

Suppose that we have pages de:Zug, en:Train and fr:Train, then we need:

An interlanguage link in the wider sense includes a link to a corresponding page in another language, which, for the software, is a regular link, as opposed to one employing the special interlanguage link feature as described above. This can also be an internal link on a multilingual project, e.g. on Meta:

Possible reasons for using an "interlanguage link" in the page body include:

  • Control over position
  • Control over label
  • The target contains an anchor

See also