Help:Interwiki linking

From SacredWiki
Jump to navigation Jump to search
MediaWiki Handbook: Contents, Readers, Editors, Moderators, System admins +/-

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. For each project, an interwiki map (a list of target projects with their prefixes) is specified (example). These target projects need not use MediaWiki and need not even be a wiki.

Interwiki linking from and within Wikimedia

Within Wikimedia, for the purpose of interlanguage linkshttp://en.wikipedia.org/wiki/Wikipedia: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.

The interlanguage link feature works on Wikimedia Commons and produces links to the Wikipedias. This is not reciprocal, a link from a Wikipedia to Commons is an in-page link.

Project titles and shortcuts

Project Long form Shortcut
Wikipedia [[wikipedia:]] [[w:]]
Wiktionary [[wiktionary:]] [[wikt:]]
Wikinews [[wikinews:]] [[n:]]
Wikibooks [[wikibooks:]] [[b:]]
Wikiquote [[wikiquote:]] [[q:]]
Wikisource [[wikisource:]] [[s:]]
Wikispecies [[wikispecies:]] [[species:]]
Wikiversity [[wikiversity:]] [[v:]]
Wikivoyage [[wikivoyage:]] [[voy:]]
Wikimedia Foundation [[wikimedia:]]
[[foundation:]]
[[wmf:]]
Wikimedia affiliates [[affiliate:]]
Wikimedia Commons [[commons:]]
Wikimedia Meta-Wiki [[metawikipedia:]]
meta:
[[m:]]
Wikimedia Incubator [[incubator:]]
MediaWiki [[mw:]]
MediaZilla / Bugzilla [[mediazilla:]]
[[bugzilla:]]
Testwiki [[testwiki:]]
Wikitech [[wikitech:]]
Wikidata [[wikidata:]] [[d:]]

* Other Wikimedia prefixes: betawikiversity:, download:, dbdump:, mail:, mailarchive:, otrs:, OTRSwiki:, quality:, spcom:, tools:, tswiki:, svn:, rev:, wmania:, wm2005:, wm2006:, wm2007:, wm2008:, wm2009:, wm2010:, wm2011:, wm2012:.

Some of the long forms don't work as expected within the same project; for example [[meta:]] doesn't work on Meta, while [[metawikipedia:]] does. This depends on the configuration of the wiki and where the names are stored (see also next paragraph). The shortcuts work everywhere. (That is the intention; currently (16-Jan-2007), it does not work on all projects.)

The interwiki map on Meta lists many prefixes, among others, [[wikipedia:]] (wikipedia:) for the English Wikipedia, working from any Wiki supporting the Meta interwiki map, not only from MediaWiki wikis. Some prefixes work only with a page, for example: wikipediawikipedia: (fails) vs. wikipediawikipedia:Interwikimedia link (works). These prefixes are case insensitive.

One-letter prefixes (as a live check on the table): Template:For Those are not real shortcuts, just interwikis with different histories. Wikipedia, Wikiquote etc. point to the English versions and are also included in the standard MediaWiki interwiki table (IIRC); 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:).

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.

Interwiki links on other sites

Other MediaWiki installations will support different interwiki prefixes. You may be able use the MediaWiki API to query for a site's available interwiki prefixes. Try replacing the index.php?stuff on the end of an edit or history URL with

 api.php?action=query&meta=siteinfo&siprop=interwikimap

Technical

A project's own 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. As a result, to link to a page in that namespace, use the same prefix twice, for example: en:Wikisource:Wikisource:Scriptorium.

For portability across projects, one may want to select a link code that leads to the same target from all projects, for example: MetaWikipedia:wikibooks:Main Page. The "superfluous" "MetaWikipedia:" prevents "wikibooks:" being interpreted as namespace prefix, when the code is used at wikibooks itself, while at Meta the "MetaWikipedia:" is ignored (it is not a namespace prefix and even at Meta itself, it is recognized as code for Meta). The codes above work from all projects; however, the existence detection and the self-link feature do not work on interwiki links.

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:

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

If only the project is specified, they typically go to the language of the source, see above. At most, two prefixes are needed for pages in any existing project and any supported language:

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

In the case of more than one prefix, a page name has to be specified. For example, while w: and en: from Meta lead to the English Wikipedia's main page, a bare [[w:en:]] does not work: w:en:.

If the language is different, specifying it before the project can also work:

[[:de:q:Hauptseite]] de:q:Hauptseite
[[:en:n:Main page]]  en:n:Main page
[[n:en:Main page]]   n:en:Main page

The second example doesn't work from English Wikipedia w:en: pages, a project prefix before the language is better.

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. The second example doesn't work at all, from English Wikipedia w:en: pages, only the third example works everywhere.

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).

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".

Wikia

In Wikia, the prefix is the internal project name for some older wikis. For others, "Wikia:c:" is added in front (e.g. [[Wikia:c:psychology]] or shorter [[w:c:trains:locomotive]]). (The "c" is for "city", a legacy of Wikia's original name Wikicities.)

Note that w: only points to wikia: from other wikis on that same site; on Wikimedia projects, w: is the Wikipedia in the same language as the local wiki.

From Wikimedia projects, use [[wikiasite:psychology]], giving wikiasite:psychology; [[wikia:trains:locomotive]], giving wikia:trains:locomotive; or for the central Wikia, centralwikia:About Wikia.

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:

  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:

Thus, there is no possibility of simply copying each list, let alone of using a template, as can be done, if different languages share one project with or without separate namespaces. For further information, see:

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:

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

Interwiki links versus external links

Disadvantages of interwiki links:

  • The wikitext is less portable across wikis, because wikis do not always have an interwiki prefix for the same sites and even if they do, the prefixes may differ
  • There is no feature to find interwiki links, while searching for an external link can be done with Special:Linksearch (if installed). This is due to the fact that, while there is an external links table, there is no such thing for interwiki links. The interwiki table only stores the interwiki prefixes with their targets as function of the parameter, not the instances of the links. Using the general text search, to search for interwiki links, is more work for the server and therefore, it may be slow, not up-to-date or in busy hours, disabled. See also: Finding external links to a page.

Using templates like template:h:mlw ( talk edit history links ), the advantages of interwiki links and external links are combined. When a page using this template, which is in this case used for links to the English Wikipedia, is copied to that site, a template with the same name is needed there too. Due to that template, w:template:h:mlw ( talk edit history links ), which redirects to w:template:h:ml ( talk edit history links ), the interwiki links are automatically converted to internal links. Hence, they provide existence detection and allow use of "What links here", as well as Linksearch.

Comparison:

  • [[imdbtitle:0389790|Bee Movie]] gives Bee Movie
  • [http://www.imdb.com/title/tt0389790 Bee Movie] gives Bee Movie

The applicable CSS classes are "extiw" and "external text". The choice may be governed by this, either way, for uniformity or distinction. An interwiki link is easier to type by itself, but if one goes to the webpage anyways, before putting the link, copying the URL is very convenient. When a template is created, e.g. w:Template:Imdb title, the template can be made, such that it uses an interwiki link and a parameter, like "tt0389790" or "0389790", or that it uses an external link and a parameter like one of those or the full url, if that is more convenient.

Interwiki links to the same wiki versus internal links

Disadvantages of interwiki links to the same wiki, compared to internal links:

  • no existence detection
  • "What links here" works for internal links only
  • The interwiki link prefix for the same wiki should be supported otherwise it creates an invalid internal link.

Advantages of interwiki links to the same wiki, compared to internal links:

  • better portability across wikis, provided that the same prefix applies and is not equal to a namespace name

When using templates like template:h:ml ( talk edit history links ), the advantages of internal links, interwiki links and external links are combined, provided that a template with the same name and adapted content is present on the other site.

See also

Links to other help pages

Help contents
Meta · Wikinews · Wikipedia · Wikiquote · Wiktionary · Commons: · mw: · b: · s: · mw:Manual · Google
Versions of this help page (for other languages see further)
Meta · Wikinews · Wikipediahttp://en.wikipedia.org/index.php/Help:Interwiki_linking · Wikiquote · Wiktionary
What links here on Meta or from Meta · Wikipedia · MediaWiki
Reading
Go · Search · Stop words · Namespace · Page name · Section · Backlinks · Redirect · Category · Image page · Special pages · Printable version
Tracking changes
Recent changes (enhanced) | Related changes · Watching pages · Diff · Page history · Edit summary · User contributions · Minor edit · Patrolled edit
Logging in and preferences
Logging in · Preferences · User style
Editing
Starting a new page · Advanced editing · Editing FAQ · Edit toolbar · Export · Import · Shortcuts · Edit conflict · Page size
Referencing
Links · URLs · Piped links · Interwiki linking · Footnotes
Style and formatting
Wikitext examples · CSS · Reference card · HTML in wikitext · Formula · List · Table · Sorting · Colors · Images and file uploads
Fixing mistakes
Show preview · Testing · Reverting edits
Advanced functioning
Expansion · Template · Advanced templates · Parser function · Parameter default · Variable · System message · Substitution · Array · Calculation · Embed page
Others
Special characters · Renaming (moving) a page · Talk page · Signatures · Sandbox · Legal issues for editors