Handbuch:Interwiki
Interwiki-Links sind Links zu Seiten anderer Projekte, die von einem internen Link-Stil mit Präfixen Gebrauch machen.
Interwiki-Links ermöglichen es, Seiten von bspw. Wikipedia, Wikibooks, Wikinews etc. oder von deinem Wiki-Projekt in verschiedenen Sprachen zu verlinken. (Siehe Manual:Wiki-Familie .)
Ein Link wie [[Wikipedia:Main Page]]
wird angezeigt als Wikipedia:Main Page und verweist auf die Hauptseite der englischen Wikipedia.
Interwiki-Links zu anderen Projekten
Tabelle und Query-API
Interwiki-Verknüpfungen werden in der interwiki -Tabelle der MediaWiki-Datenbank gespeichert.
Du kannst diese Interwiki-Liste über die interwikimap-Eigenschaft der Meta-Query-API erhalten, anders ausgedrückt über eine API-Anfrage wie etwa
api.php?action=query&meta=siteinfo&siprop=interwikimap
Standardeinträge
Mehrere Wikimedia-Projekte (und andere) sind für Interwiki-Verlinkungen schon voreingestellt und bereit zur Nutzung, sodass du sie benutzen kannst, ohne deine Datenbank bearbeiten zu müssen.
Im Folgenden finden sich einige Beispiele von Interwiki-Präfixen, die standardmäßig verfügbar sind (Wikipedia ist auch verwendbar, 1.10 und höher):
Präfix | Ziel-URL | Anwendungsbeispiel |
---|---|---|
commons | https://commons.wikimedia.org/wiki/ | [[commons:MediaWiki]]
|
mediazilla | http://bugzilla.wikimedia.org/ | [[mediazilla:1209]]
|
metawikimedia (vor Version 1.23: metawikipedia) | https://meta.wikimedia.org/wiki/ | [[metawikimedia:Main Page]]
|
Die vollständige Liste der standardmäßigen Interwiki-Präfixe ist verfügbar unter maintenance/interwiki.list.
Siehe m:Help:Interwiki linking für vollständige Informationen zum Verlinken aus Wikimedia-Projekten bzw. zu ihnen.
Eine neue Webseite für Interwiki-Verlinkungen hinzufügen
- Interwiki-Verweise sind in der Datenbanktabelle
interwiki
eingetragen.
- Um diese zu ändern, musst du die Datenbank bearbeiten, wie unten gezeigt.
- Es wird empfohlen, sich der Interwiki-Erweiterung zu bedienen, welche den Vorgang erleichtert.
Die Beispiele hierunter zeigen, wie w:
als Verknüpfung zur englischen Wikipedia eingerichtet wird.
Die Idee ist, eine Zeile in dieser Form:
('prefix', 'URL format string', 1, 0)
in die interwiki
-Tabelle einzufügen.
Einzelne Zeile
Erfahrene Benutzer können eine einzelne Kommandozeile wie folgt verwenden:
INSERT INTO interwiki (iw_prefix, iw_url, iw_api, iw_local, iw_trans, iw_wikiid)
VALUES ('w', 'https://en.wikipedia.org/wiki/$1', 'https://en.wikipedia.org/w/api.php', 0, 1, '');
Exportieren, Einfügen, Zurückimportieren
Alternativ kann der folgende Schritt-für-Schritt-Vorgang durchgeführt werden, der die interwiki
-Tabelle exportiert, eine Zeile einfügt und dann zurückimportiert:
- Exportiere die Datenbanktabelle
interwiki
- Füge am Ende der Tabelle eine Zeile in der folgenden Form ein (die englische Wikipedia wird als Beispiel herangezogen):
('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);
- Importiere die Datenbanktabelle
interwiki
Testen
Um die Konfiguration zu testen:
- Gehe zu Deiner Seite,
- erstelle einen Artikel mit folgendem Inhalt:
[[w:Wikipedia:Village pump|]]
- Das sollte einen Link zur Seite „Village Pump“ unter en.wikipedia.org (mit der URL
https://en.wikipedia.org/wiki/Wikipedia:Village_pump
) anzeigen.
Feld-Dokumentation
Tipp für Wiki-Administratoren: Mehrere Hilfeseiten führen zum MediaWiki.org's Handbuch Namensraum. Um diese Verweise im lokalen Wiki zu aktivieren, ist ein Interwiki-Verweis mit iw_prefix=manual und iw_url=http://www.mediawiki.org/wiki/Manual:iw_prefix=manual
hinzuzufügen.
Tipp für Wiki-Administratoren: $wgTranscludeCacheExpiry sollte in Ihren LocalSettings.php
eingestellt werden, wenn Änderungen im verknüpften Wiki durchgeführt werden. Oder die Tabelle transcache im lokalen Wiki wird entleert.
Interwiki-Verweisungen zu anderen Sprachen
Wenn ein Handbuch der Wiki-Familie installiert ist, kann von einem englischen Artikel zu einem Artikel in der Zielsprache verwiesen werden, wenn es auch ein Projekt in der Zielsprache gibt. Gleich unter der Werkzeugkiste (toolbox) kann MediaWiki eingestellt werden, um diese Verweiswungen im Navigationsleiste anzuzeigen.
In Ihrem Dateisystem gibt es einen Unterordner Ihrer MediaWiki-Installation, genannt "Sprachen (languages)".
Dort enthält Names.php
eine Liste bekannter Sprachen und deren Präfixe.
Soll zum Beispiel ein deutsches Projekt hinzugefügt werden, sucht man in Names.php
nach "Deutsch" und nimmt das Präfix "de".
Wenn das "richtige" Präfix bekannt ist, ist in der Datenbanktabelle interwiki
eine neue Zeile einzufügen:
iw_prefix |
*iw_prefix : Sprach-Präfix (z.B. "de" für Deutsch), wie es in "Names.php " steht.
|
iw_url |
*iw_url : URL ihres Wiki-Projektes (z.B. http://de.example.org/index.php/<code><nowiki>http://de.example.org/index.php/$1 </nowiki>)
|
iw_local |
*iw_local : dasselbe, wie oben "Adding More"
|
iw_trans |
*iw_trans : dasselbe, wie oben "Adding More"
|
Jetzt kann von einem Artikel auf den gleichen in anderen Sprachen verwiesen werden.
Durch Einfügen der [[de:Hauptseite]]
auf Ihrer englischen Hauptseite (Main_page) wird ein Verweis "Deutsch" unter der Werkzeugkiste (toolbox) erzeugt, der auf die Hauptseite (Main_page) des deutschen Wiki führt.
Dieser Verweis wird nur im Bereich der Navigationsleiste gezeigt und nicht im Artikel.
Wenn ein Verweis innerhalb des Textes erstellt werden soll, muss ein Doppelpunkt vor dem Präfix gesetzt werden: [[:de:Hauptseite]]
oder $wgInterwikiMagic auf "false" gesetzt sein.
Die Interwiki-Tabelle aus einem Wiki exportieren
Der folgende JavaScript-Code führt die API-Abfrage aus, um die Interwiki-Zuordnung eines vorhandenen Wikis abzurufen, und zeigt dann die SQL INSERT-Anweisungen an, um die Interwiki-Tabelle in einem neuen Wiki zu füllen. Sie führen es beispielsweise aus, indem Sie den Code über die Entwicklertools Ihres Browsers einfügen oder ihn in Special:MyPage/skinname.js platzieren und eine Vorschau anzeigen.
function ExtractInterwikiMapTable() {
$.getJSON(mw.config.get('wgScriptPath') + '/api.php?action=query&meta=siteinfo&siprop=interwikimap&format=json', function(data) {
var iw_prefix, iw_url, iw_local, iw_api, re_escape = /(')/g, result = '';
for (var i = 0, iwm = data.query.interwikimap; i < iwm.length; i++) {
iw_prefix = "'" + iwm[i].prefix.replace(re_escape, '\\$1') + "'";
iw_url = "'" + iwm[i].url.replace(re_escape, '\\$1') + "'";
iw_local = (typeof iwm[i].local == 'string') ? '1' : '0';
iw_api = "'" + (iwm[i].iw_api || '').replace(re_escape, '\\$1') + "'";
result += 'INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans, iw_api) VALUES ('+iw_prefix+', '+iw_url+', '+iw_local+', 0, '+iw_api+');\n'
}
$('<textarea style="width:800px;height:400px;"/>').val(result).appendTo(document.body);
});
}
$(ExtractInterwikiMapTable);
Interwiki links versus external links
''[[imdbtitle:0389790|Bee Movie]]''
→Bee Movie
[http://www.imdb.com/title/tt0389790 Bee Movie]
→Bee Movie
Linksearch works for the latter only.
Wikitext using interwiki links isn't always easily transferable between different wikis because they don't consistently use the same interwiki prefixes, or they might not have them at all. Additionally, interwiki links can sometimes mislead users since they don't know when they're being sent to another site.
You can choose between "extiw" and "external text" CSS classes for links, depending on whether you want them to look the same or different. Using just the interwiki link is easier to type, but copying the URL from the webpage is handy. Templates like w:Template:imdb title can be set up to use either an interwiki link with a parameter like "tt0389790" or "0389790", or an external link with a parameter like one of those or the full URL, making it easier to include IMDb references.
Interwiki links to the local wiki
Interwiki links can be configured to point to the same wiki they are being rendered from. For example, mw:Manual:Interwiki/de points to this page. These links are treated identically to internal links and do show up on Special:WhatLinksHere, appear bold if they are a selflink like the above, appear red if the page doesn't exist, etc.