Handbuch:Interwiki

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Interwiki and the translation is 99% complete.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎português • ‎română • ‎suomi • ‎čeština • ‎русский • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어

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.

In einigen Installationen sind keine von diesen vorinstalliert. In diesem Fall kann [[metawikipedia:Main Page]] weiterhelfen.

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.

Da die Interwiki-Verknüpfung zu Wikipedia nicht standardmäßig vor Version 1.10 eingerichtet ist, musst du sie (und andere Projekte) bei Bedarf selbst hinzufügen.

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:

  • MySQL und PostgreSQL
MediaWiki Versions:
1.10 – 1.16
INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans) VALUES ('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);

Neuere MediaWiki-Versionen erfordern einige Zusatzfelder, wie z. B. iw_wikiid.

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);
In der oben stehenden Anweisung MUSS das Semikolon ';' am Ende der Tabelle stehen, wie gezeigt. Am Ende jeder anderen Zeile der Tabelle darf nur ein Komma ',' stehen.
  • 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

Im Detail sehen die Felder der interwiki Datenbanktabelle wie folgt aus:

  • iw_prefix: hier ist ein Präfix zu verwenden, wie er für einen Interwiki-Verweis verwendet wird, z.B. "wikipedia" für den Verweis zu Wikipedia.
    Präfixe müssen kleingeschrieben sein.
  • iw_url: die URL des Projektes eingeben, z.B. https://en.wikipedia.org/wiki/$1 für Wikipedia. $1 darf nicht vergessen werden, da es mit dem Namen des Artikels, auf den verwiesen wird, ersetzt wird ([[Wikipedia:Main Page]] verweist auf https://en.wikipedia.org/wiki/Main_Page).
    Wenn iw_url ein binäres BLOB-Feld ist (SVN Version, erscheint auch in Version 1.11.0, Fehler (bug)?) ist, wird dieses nicht direkt funktionieren. Die Eingabe muss binär erfolgen. Es gibt zwei mögliche Lösungen: 1. Die URL in einer einfachen Textdatei speichern und danach mit phpmyadmin importieren. 2. Eine SQL-Anfrage kann direkt eingegeben werden.
  • iw_local: wenn 1, leitet das Wiki auch externe Links der Form iw_prefix:title um, nicht nur die von den eigenen Seiten. Dies wird benötigt, wenn man auch die Redirect-Funktionalität von außerhalb des Wikis nutzen will, oder andere Wikis ihre transwiki-Funktionen für verschachtelte transwiki-Links nutzen (wie w:en:fr:Wikipédia:Accueil). Siehe m:Help:Interwiki linking#Non-local interwikis. Erfordert ein Protokoll, das in iw_url festgelegt wird.
  • iw_trans: "transwiki transclusion" - auf 1 setzen, wenn Seiten anderer Wikis als Vorlagen verwendet werden sollen. Es ist ebenfalls erforderlich, $wgEnableScaryTranscluding = true in der LocalSettings.php festzulegen. Das wiederum erfordert ein Protokoll, das in iw_url angegeben werden muss.
  • iw_api: URL zur MediaWiki API, z.B. https://en.wikipedia.org/w/api.php (optional).
  • iw_wikiid: Name der Datenbank des Wiki, wenn lokal verfügbar. Kann (später?) für Interwiki Verweise verwendet werden (optional).


Tools.svg 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:$1 hinzuzufügen.


Tools.svg 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

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: dasselbe, wie oben "Adding More"
  • 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);

Siehe auch