Help:Interwiki linking on Wikimedia wikis
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:]]
|
- Other current Wikimedia prefixes: betawikiversity:, download:, dbdump:, gerrit:, mail:, mailarchive:, outreach:, otrs:, OTRSwiki:, quality:, spcom:, ticket:, tools:, tswiki:, svn:, sulutil: rev:, wmania:, wm2016:, wm2017:.
- 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 whish 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).
Portable links
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".
Interlanguage links
- 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:
- [[:en:link]] or [[:category:name]] are ordinary links.
- [[m:en:link]] or [[m:category:name]] are interwiki links, see above.
- [[category:name]] without leading colon, adds a category to the page.
- [[en:link]] without leading colon, adds an interlanguage link to the page.
- <noinclude>[[category:name]]</noinclude> limits it to the actual page.
- <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:
In-page interlanguage links
To make an interlanguage link in-page, prefix a colon (e.g. [[:en:wiki|wiki]]). This can be useful to link to a page in another language, if no local version is available. For example, several templates for conveniently making such links would be:
- w:Template:nli [ talk edit history links ] - [[:nl:{{{1}}}]] (in [[Dutch language|Dutch]])
- w:Template:nlil [ talk edit history links ] - [[{{{1}}}]] ([[:nl:{{{2|{{{1}}}}}}|nl]])
- w:Template:nlii [ talk edit history links ] - ''[[{{{1}}}]]'' ([[:nl:{{{2|{{{1}}}}}}|nl]])
- w:Template:nlis [ talk edit history links ] - ([[:nl:{{{1|{{PAGENAME}}}}}|nl]])
- w:Template:nlinl [ talk edit history links ] - {{{1}}} ([[:nl:{{{2|{{{1}}}}}}|nl]])
Interlanguage links in the wider sense
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