Příručka:Interwiki

From mediawiki.org
This page is a translated version of the page Manual:Interwiki and the translation is 100% complete.

Interwiki links 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 a jinými v různých jazycích. (Podívejte se na stránku Příručka:Rodina wiki .)

Odkaz jako [[Wikipedia:Main Page]] se zobrazí takto: Wikipedia:Main Page vás přesměruje 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 meta dotazu API siteinfo , jinými slovy vytvořením požadavku API jako například api.php?action=query&meta=siteinfo&siprop=interwikimap

Výchozí

Několik projektů Wikimedie (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é (Wikipedie 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]]
metawikimedia (před verzí 1.23: metawikipedia) https://meta.wikimedia.org/wiki/ [[metawikimedia:Main Page]]

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

Úplné informace o propojení z nebo do projektů Wikimedie najdete na stránce m:Help:Interwiki linking.

V některých instalacích není žádná z nich předinstalována. 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 Wikipedie není před verzí 1.10 ve výchozím nastavení nastavena, můžete ji přidat (i 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
Verze MediaWiki:
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í

Další informace: Manual:Interwiki table


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 na místní wiki vyčistit plochu transcache.


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

Související odkazy