메뉴얼:인터위키

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Interwiki and the translation is 25% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎română • ‎suomi • ‎русский • ‎العربية • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어

인터위키 링크(Interwiki links)는 다른 프로젝트들의 문서로 연결하는 것을 의미하며, 접두사를 이용하는 내부적 링크 방식을 사용합니다.

인터위키 링크는 Wikipedia, Wikibooks, Wikinews 등의 문서로 연결이 가능합니다. 또한 다른 언어의 당신의 위키-프로젝트로도 가능합니다. (See 메뉴얼:위키 패밀리 .)

[[Wikipedia:Main Page]] 와 같은 링크는 다음과 같은 링크가 됩니다 : Wikipedia:Main Page 로 표시되고 위키백과의 메인페이지로 이동합니다.

인터위키를 다른 프로젝트에 링크하기

Interwiki links are hosted in the interwiki table of the MediaWiki database. The list is available from the interwikimap property of the siteinfo meta query API, in other words api.php?action=query&meta=siteinfo&siprop=interwikimap

경고 경고: The api interwikimap property gives incorrect results on wikis using the interwiki cache (like Wikimedia Wikis) prior to MediaWiki 1.19 (Bug 19838)

기본

Several Wikimedia projects (and others) are ready for interwiki linking by default, so you can use them without editing your database.

The following are some examples of interwiki prefixes which are available by default (Wikipedia is also available, 1.10 and after):

접두어 목적 URL 사용법 예시
commons https://commons.wikimedia.org/wiki/ [[commons:MediaWiki]]
mediazilla http://bugzilla.wikimedia.org/ [[mediazilla:1209]]
meta https://meta.wikimedia.org/wiki/ [[meta:Main Page]]

The full list of default interwiki prefixes is available at maintenance/interwiki.list

See m:Help:Interwiki linking for complete information on linking from/to Wikimedia projects.

In some installations none of these is pre-installed. Try [[metawikipedia:Main Page]] in this case.


새 웹사이트를 추가하기

  • Interwiki links are set in the interwiki table of the database.
  • To modify these, you will need to edit the database, as below.
  • You might prefer to install an Interwiki extension, which eases the process.

[1]

As Wikipedia isn't set up by default prior to version 1.10, you might want to add it (and other projects that you desire).

The examples below show how to set up w: as a link to the English Wikipedia.

The idea is to insert a line of the form:

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

into the interwiki table.

한줄로 하기

Advanced users may use a single command line, as follows:

  • MySQL와 PostgreSQL
미디어위키 버전s: 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);

Newer MediaWiki versions require some extra fields such as iw_wikiid.

Export, add, re-import

Alternatively, you can use the following multi-step process, which exports the interwiki table, adds a line, then re-imports it:

  • Export the database table interwiki
  • add to the end of the table a line of the following form (using English wikipedia as an example):
('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);
In the above code, the semicolon ';' as seen, MUST be at the end of the table. At the end of any other line within that table Only has ','.
  • Import the database table interwiki

시험하기

시험하기 환경설정:

  • 당신의 사이트로 가세요,
  • create an article, with the following content:
    [[w:Wikipedia:Village pump|]]
  • This should display a link to the 'Village pump' page on en.Wikipedia.org (the url https://en.wikipedia.org/wiki/Wikipedia:Village_pump)

필드에 대한 설명

데이터베이스 테이블interwiki 의 필드에 대해서 상세한 내용은 다음을 따르세요 :

  • iw_prefix: choose a prefix, which is used for interwiki linking, e.g. "wikipedia" for linking to Wikipedia.
    Prefixes must be all lower-case.
  • iw_url: enter the project's URL, e.g. https://en.wikipedia.org/wiki/$1 for Wikipedia. Don't forget the $1 as it is replaced with the article's name you are linking to ([[Wikipedia:Main Page]] links to https://en.wikipedia.org/wiki/Main_Page).
    If iw_url is a binary BLOB field (SVN version, but also occurs in version 1.11.0, bug?) this won't work directly. You have to enter it as binary. There are two possible solutions: 1. You save the url in a plain text file, then import it through phpmyadmin. 2. You can directly enter an SQL query.
  • iw_local: if 1, your wiki will redirect even external links of the form iw_prefix:title, not only those from its own pages; you need this if you want to use the redirect functionality from outside your wiki or other wikis use your transwiki functions for nested transwiki links (like w:en:fr:Wikipédia:Accueil). See m:Help:Interwiki linking#Non-local interwikis. Requires a protocol to be specified in iw_url.
  • iw_trans: "transwiki transclusion" - set to 1 if you want to use pages from the other wiki as templates. You will also need to set $wgEnableScaryTranscluding = true in your LocalSettings.php. Requires a protocol to be specified in iw_url.
  • iw_api: URL to the MediaWiki API, e.g. https://en.wikipedia.org/w/api.php (optional).
  • iw_wikiid: Database name of the wiki (If locally accessible). May be used (later?) for interwiki transclusions. (optional)

Tools.svg 위키 관리자를 위한 정보: Several help pages link to MediaWiki.org's Manual namespace. To make these links work on your local wiki, add an interwiki link with iw_prefix=manual and iw_url=http://www.mediawiki.org/wiki/Manual:$1

Tools.svg 위키 관리자를 위한 정보: $wgTranscludeCacheExpiry in your LocalSettings.php should be set if changes in the transcluded wiki are done. Alternatively, you can flush the table transcache on your local wiki.


각주

  1. Is using Extension:Interwiki , make sure to use version 2.1, which fixes a caching latency problem

기타 언어로 인터위키 링크 걸기

기타 언어로 인터위키 링크 걸기

If you have installed a Wiki family, you can link from an article in English to an article in German (if you have a German project, too). You can set up MediaWiki, to show those links in the sidebar, just below the toolbox.

In your filesystem, there is a subfolder of your MediaWiki installation, called "languages". Go there and have a look at "Names.php" as it contains a list of known languages and their prefixes. E.g. you want to add your German project, search "Names.php" for "Deutsch" and note the prefix "de".

If you know the "right" prefix, edit your database by adding a new line to table interwiki:

  • iw_prefix: language-prefix (e.g. "de" for German), which is listed in "Names.php"
  • iw_url: URL to your wiki-project (e.g. http://de.example.org/index.php/$1)
  • iw_local: same as above "Adding More"
  • iw_trans: same as above "Adding More"

Now, you can link an article to the same in other languages. Adding [[de:Hauptseite]] on your English Main_Page will create a link "Deutsch" below the toolbox, which leads to the Main_Page of the German wiki (Hauptseite).

Note, that this link is shown in Sidebar's section, only, and not inside of the article. If you want to create a link inside of the text, you have to add a colon previous to the prefix: [[:de:Hauptseite]] or set $wgInterwikiMagic to false.

Exporting the interwiki table from a wiki

The interwiki table can be queried through the API:Meta module using meta=siteinfo&siprop=interwikimap.

The following JavaScript code can be used to generate the SQL INSERT statements to fill the interwiki table, when run inside the wiki where that info should be extracted, for example, injecting the code through the browser's developer tools or placing it inside Special:MyPage/<skinname>.js and previewing:

function ExtractInterwikiMapTable() {
	$.getJSON(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);

같이 보기