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 von der siteinfo Meta-Query-API erhalten, anders ausgedrückt über eine API-Anfrage wie etwa
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
der Datenbank 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, zusätzlich zum ausführlicheren Standardeintrag "wikipedia:".
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 zu MediaWiki.org's Handbuch Namensraum. Um diese Verweise in Ihrem lokalen Wiki zu aktivieren, ist ein Interwiki-Verweis mit iw_prefix=manual
und iw_url=http://www.mediawiki.org/wiki/Manual:$1
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 |
Sprach-Präfix (z.B. "de" für Deutsch), wie es in Names.php steht.
|
iw_url |
URL Ihres Wiki-Projektes (z.B. http://de.example.org/index.php/$1 )
|
iw_local |
same as above at #Adding a new website for interwiki linking |
iw_trans |
same as above at Adding a new website for interwiki linking |
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 vs. externe Links
[[imdbtitle:0389790|Bee Movie]]
→Bee Movie
[http://www.imdb.com/title/tt0389790 Bee Movie]
→Bee Movie
Linksearch funktioniert nur für letzteres.
Wikitext mit Interwiki-Links ist nicht immer leicht zwischen verschiedenen Wikis zu übertragen, weil sie nicht konsequent die gleichen Interwiki-Präfix verwenden, oder möglicherweise nicht alle haben. Zusätzlich können Interwiki-Links die Nutzer manchmal irreführen, da sie nicht wissen, wann sie auf eine andere Website gesendet werden.
Sie können zwischen den "extiw" und "external text" CSS-Klassen für Links wählen, je nachdem, ob Sie möchten, dass sie gleich oder anders aussehen. Interwiki-Links sind einfacher zu tippen, aber die URL von der Webseite zu kopieren, ist praktisch. 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 verlinkt zum lokalen Wiki
Interwiki-Links können so konfiguriert werden, dass sie auf das gleiche Wiki verweisen, aus dem sie erstellt werden. Zum Beispiel zeigt mw:Manual:Interwiki/de auf diese Seite. Diese Links werden identisch wie interne Links behandelt und werden auf Special:WhatLinksHere angezeigt, sind fett formatiert, wenn sie ein Selbstlink sind, wie oben, sind rot formatiert, wenn die Seite nicht existiert, etc.