Návod:Interwiki

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

Interwiki odkazy jsou odkazy na stránky z jiných projektů, které kombinují interní odkazy s prefixy.

Těmito odkazy můžete prolinkovat svoji vlastní wiki se stránkami z Wikipedie, Wikiknih, Wikinews, aj. v různých jazycích. (Viz Manual:Wiki family .)

Odkaz jako [[Wikipedia:Main Page]] se objeví takto: Wikipedia:Main Page a přesměruje vás na hlavní stránku Wikipedie.

Interwiki odkazy na jiné projekty

Tabulka a dotaz API

Odkazy Interwiki jsou hostovány v tabulce interwiki v databázi MediaWiki. Seznam interwiki můžete načíst z vlastnosti interwikimap rozhraní API siteinfo meta dotaz API, jinými slovy vytvořením požadavku API, jako je api.php?action=query&meta=siteinfo&siprop=interwikimap

Výchozí

Několik projektů Wikimedia (a dalších) je ve výchozím nastavení připraveno pro propojení interwiki, takže je můžete použít bez úprav databáze.

Následuje několik příkladů předpon interwiki, které jsou standardně dostupné (Wikipedia je má k dispozici také od verze 1.10 a mladší):

předpona cílová adresa URL příklad použití
commons https://commons.wikimedia.org/wiki/ [[commons:MediaWiki]]
mediazilla http://bugzilla.wikimedia.org/ [[mediazilla:1209]]
meta https://meta.wikimedia.org/wiki/ [[meta:Main Page]]

Úplný seznam výchozích předpon interwiki je k dispozici na maintenance/interwiki.list

Úplné informace o propojení z / do projektů Wikimedia najdete v m:Help:Interwiki linking.

V některých instalacích není žádná z těchto předinstalovaná. V tomto případě zkuste [[metawikipedia:Main Page]].

Přidání nového webu pro propojení interwiki

  • Interwiki odkazy jsou nastaveny v tabulce interwiki databáze.
  • Chcete-li je upravit, budete muset upravit databázi, jak je uvedeno níže.

Doporučuje se použít rozšíření "Interwiki", které proces usnadňuje.

Protože Wikipedia není před verzí 1.10 ve výchozím nastavení nastavena, můžete ji přidat (a další projekty, které si přejete).

Níže uvedené příklady ukazují, jak nastavit w: jako odkaz na anglickou Wikipedii.

Záměrem je vložit řádek do formuláře:

('prefix', 'URL format string', 1, 0)

do tabulky interwiki.

Jeden řádek

Pokročilí uživatelé mohou používat jeden příkazový řádek takto:

  • MySQL a 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);

Novější verze MediaWiki vyžadují některá další pole, například iw_wikiid.

Export, přidání, opětovný import

Případně můžete použít následující vícekrokový proces, který exportuje tabulku interwiki, přidá řádek a znovu jej importuje:

  • Exportujte tabulku databáze interwiki
  • na konec tabulky přidejte řádek následujícího formuláře (jako příklad použijte anglickou wikipedii):
('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);
Ve výše uvedeném kódu středník ';' jak je vidět, MUSÍ být na konci řádku. Na konci kterékoli jiné řádky v tabulce je pouze ','.
  • Importujte tabulku databáze interwiki

Testování

Testování konfigurace:

  • Přejděte na svůj web,
  • vytvořte článek s následujícím obsahem:
    [[w:Wikipedia:Village pump|]]
  • To by mělo zobrazovat odkaz na stránku 'Village pump' na en.Wikipedia.org (url https://en.wikipedia.org/wiki/Wikipedia:Village_pump)

Dokumentace polí

Podrobně jsou pole databázové tabulky interwiki následující:

  • iw_prefix: vyberte předponu, která se používá pro propojení interwiki, např. „wikipedia“ pro odkaz na Wikipedii.
    Předpony musí být malými písmeny.
  • iw_url: zadejte adresu URL projektu, např. https://en.wikipedia.org/wiki/$1 pro Wikipedii. Nezapomeňte na $1, protože je nahrazen názvem článku, na který odkazujete ([[Wikipedia:Main Page]] odkazy na https://en.wikipedia.org/wiki/Main_Page).
    Pokud je iw_url binární pole BLOB (verze SVN, ale vyskytuje se také ve verzi 1.11.0, chyba?), nebude to fungovat přímo. Musíte jej zadat jako binární. Existují dvě možná řešení: 1. Uložte adresu URL do prostého textového souboru a poté ji importujte pomocí phpmyadmin. 2. Můžete přímo zadat dotaz SQL.
  • iw_local: Pokud 1, vaše wiki přesměruje i externí odkazy ve tvaru iw_prefix:title, nejen ty z vlastních stránek; potřebujete to, pokud chcete použít funkci přesměrování mimo vaši wiki nebo jinou wiki, použijte vaše transwiki funkce pro vnořené transwiki odkazy (jako w:en:fr:Wikipédia:Accueil). Viz m:Help:Interwiki linking#Non-local interwikis. Vyžaduje, aby byl v iw_url specifikován protokol.
  • iw_trans: "transwiki transclusion" - nastaveno na 1, pokud chcete používat stránky z druhé wiki jako šablony. Budete také muset nastavit $wgEnableScaryTranscluding = true ve svých LocalSettings.php. Vyžaduje to protokol, který bude uveden v iw_url.
  • iw_api: URL na MediaWiki API, např. nowiki>https://en.wikipedia.org/w/api.php</nowiki> (volitelné).
  • iw_wikiid: Název databáze wiki (je-li lokálně přístupný). Může být použit (později?) Pro transwiki interwiki. (volitelný)

  Tip pro správce wiki: Několik stránek nápovědy odkazuje na Manual jmenný prostor MediaWiki.org. Chcete-li, aby tyto odkazy fungovaly na vaší místní wiki, přidejte odkaz na interwiki s iw_prefix=manual a iw_url=http://www.mediawiki.org/wiki/Manual:$1

  Tip pro správce wiki: $wgTranscludeCacheExpiry ve vašem LocalSettings.php by mělo být nastaveno, pokud jsou provedeny změny v přenesené wiki. Alternativně můžete vyčistit plochu transcache na místní wiki.

Interwiki odkazy na jiné jazykové verze

 
Interwiki odkazy na jiné jazyky

Pokud jste nainstalovali Wiki family , můžete odkazovat z článku v angličtině na článek v němčině (pokud máte i německý projekt). Můžete nastavit MediaWiki, aby tyto odkazy zobrazoval na postranním panelu, hned pod panelem nástrojů.

Ve vašem souborovém systému je podsložka vaší instalace MediaWiki, nazvaná "jazyky". Jděte tam a podívejte se na "Names.php ". Obsahuje seznam známých jazyků a jejich předpony. Např. chcete přidat svůj německý projekt, hledejte „Names.php“ pro „Deutsch“ a poznamenejte si předponu „de“.

Pokud znáte správnou předponu, upravte svou databázi přidáním nového řádku do tabulky interwiki:

  • iw_prefix: prefix jazyka (např. "de" pro němčinu), který je uveden v "Names.php"
  • iw_url: URL na váš projekt wiki (např. http://de.example.org/index.php/$1)
  • iw_local: stejné jako výše "Přidání dalších"
  • iw_trans: stejné jako výše "Přidání dalších"

Nyní můžete propojit článek se stejným v jiných jazycích. Přidáním <nowicki></nowiki> na svou anglickou Main_Page vytvoří odkaz „Deutsch“ pod panelem nástrojů, což vede k Main_Page německé wiki (Hauptseite) .

Tento odkaz je zobrazen v části postranního panelu, pouze, nikoli uvnitř článku. Pokud chcete vytvořit odkaz uvnitř textu, musíte přidat před dvojtečku před: [[:de:Hauptseite]] nebo nastavit $wgInterwikiMagic na false .

Export tabulky interwiki z wiki

Následující kód JavaScript provede dotaz API k načtení mapy interwiki existující wiki a poté zobrazí příkazy SQL INSERT, aby vyplnily tabulku interwiki na nové wiki. Spustíte jej například vložením kódu pomocí vývojových nástrojů vašeho prohlížeče nebo umístěním do Special:MyPage/skinname.js a náhledu.

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

Viz též