Jump to content

Handbuch:Interwiki

From mediawiki.org
This page is a translated version of the page Manual:Interwiki and the translation is 67% complete.
Outdated translations are marked like this.

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.

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.


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.

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

Weitere Informationen: Manual:Interwiki table


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

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);
''[[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 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.

Siehe auch