본문 바로가기
미디어위키

Manual Interwiki

by 다움위키 2025. 3. 3.

원문 보기: https://dawoum.duckdns.org/wiki/Manual:Interwiki

 

Original article: mw:Manual:Interwiki

인터위키 링크(Interwiki links)는 접두어화 내부 링크 스타일을 사용하여 다른 프로젝트의 페이지에 대한 링크입니다.

인터위키 링크는 (예를 들어) Wikipedia, Wikibooks, Wikinews 등의 페이지 또는 다른 언어로 된 위키-프로젝트에 대한 링크를 만들 수 있습니다 (Manual:Wiki family를 참조하십시오).

[[Wikipedia:Main Page]]와 같은 링크는 Wikipedia:Main Page와 같이 나타나고 위키피디아의 Main Page로 리다이렉션 됩니다.

Table and query API

인터위키 링크는 미디어위키 데이터베이스의 인터위키 테이블에 호스팅됩니다. siteinfo 메타 쿼리 API의 interwikimap 속성에서 인터위키 목록을 검색할 수 있습니다. 다시 말해서, 다음과 같은 API 요청을 함으로써 검색할 수 있습니다:

Default

여러 위키미디어 프로젝트 (및 기타 프로젝트)는 기본적으로 인터위키 링크를 사용할 수 있으므로, 데이터베이스의 편집 없이도 사용할 수 있습니다.

다음은 기본적으로 사용할 수 있는 인터위키 접두사의 몇 가지 예입니다 (위키피디아는 역시 1.10 이상에서 사용 가능합니다):

기본 인터위키 접두사의 전체 목록은 maintenance/interwiki.list에서 확인할 수 있습니다.

위키미디어 프로젝트에서 인터위키 링크에 대한 자세한 내용에 대해 위키미디어 위키에서의 인터위키 링크를 참조하십시오.

일부 설치에서, 이들 중 어떤 것도 전혀 사전-설치되지 않습니다.

Adding a new website for interwiki linking

  • 인터위키 링크는 데이터베이스의 interwiki 테이블에 설정됩니다.
  • 이것들은 Special:Interwiki에서 수정될 수 있습니다. 미디어위키 1.44 이상에서, 이 기능이 미디어위키 코어에 내장되었습니다. 이전 버전에서는 인터위키 확장을 사용할 수 있습니다.

To test

구성을 테스트하기 위해:

  • 위키 사이트로 접근합니다,
  • 다음 내용으로 Test 페이지에서 글을 작성하십시오: [[w:Wikipedia:Village pump|]]
  • 이것은 en.Wikipedia.org의 'Village pump' 페이지에 대한 링크를 표시해야 합니다 (url https://en.wikipedia.org/wiki/Wikipedia:Village_pump)

Field documentation

Tip for wiki admins: 여러 도움말 페이지가 MediaWiki.org의 Manual 이름공간에 링크되어 있습니다. 지역 위키에서 이들 링크를 작동시키기 위해, iw_prefix=manual와 iw_url=http://www.mediawiki.org/wiki/Manual:$1를 갖는 인터위키 링크를 추가하십시오.

Tip for wiki admins: 만약 전달-삽입된 위키에서 변경 사항이 적용되려면 LocalSettings.php에서 $wgTranscludeCacheExpiry를 설정해야 합니다. 대안적으로, 지역 위키에서 테이블 transcache를 플러시할 수 있습니다.

위키 가족을 설치했다면, 영어 기사에서 독일어 기사로 링크할 수 있습니다 (독일어 프로젝트도 가지고 있다면). 도구 상자 바로 아래, 사이드바에 해당 링크를 표시하기 위해 미디어위키를 설정할 수 있습니다.

파일 시스템에서, 미디어위키 설치의 하위-폴더 중에, "languages"가 있습니다. 거기로 가서 Names.php를 살펴보아야 하는데, 왜냐하면 여기에는 알려진 언어와 접두사 목록이 들어 있기 때문입니다. 예를 들어, 독일어 프로젝트를 추가하기 위해, Names.php에서 "Deutsch"를 검색하고 접두사 "de"를 주목하십시오.

"올바른" 접두사를 알고 있다면, interwiki 테이블에 새 줄을 추가함으로써 데이터베이스를 편집하십시오:

이제, 다른 언어로 된 같은 기사에 링크를 걸 수 있습니다. 영어 Main_Page에 [[de:Hauptseite]]를 추가하는 것은 도구 상자 아래에 "Deutsch" 링크를 생성할 것이며, 이는 독일어 위키의 Main_Page (Hauptseite)로 이어집니다.

이 링크는 사이드바 섹션에 표시되고, 기사 내부에는 표시되지 않음에 주목하십시오. 텍스트 내부에 링크를 만들기를 원하면, 접두사 앞에 콜론을 추가해야 합니다: [[:de:Hauptseite]] 또는 $wgInterwikiMagicfalse로 설정하십시오.

Exporting the interwiki table from a wiki

다음 자바스크립트 코드는 기존 위키의 인터위키 맵을 검색하기 위한 API 쿼리를 수행하고, 그런-다음 SQL INSERT 문을 표시하여 새 위키의 인터위키 테이블을 채웁니다. 예를 들어 브라우저의 개발자 도구를 통해 코드를 삽입하거나, Special:MyPage/skinname.js에 코드를 넣고 미리 보기함으로써 실행합니다.

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는 후자에 대해서만 작동합니다.

인터위키 링크를 사용하는 위키텍스트는 항상 다른 위키 사이에 쉽게 전송되지 않는데, 왜냐하면 그것들은 같은 인터위키 접두사를 일관되게 사용하지 않거나, 전혀 사용하지 않을 수 있기 때문입니다. 추가적으로, 인터위키 링크는 때때로 사용자가 또 다른 사이트로 전송될 때를 알지 못하기 때문에 사용자를 오도할 수 있습니다.

링크에 대해 "extiw"와 "external text" CSS 클래스 사이를 선택할 수 있으며, 링크가 같게 보이도록 할지 다르게 보이도록 할지에 따라 달라집니다. 인터위키 링크만 사용하는 것이 입력하기가 더 쉽지만, 웹페이지에서 URL을 복사하는 것이 편리합니다. w:Template:IMDb title과 같은 템플릿은 "tt0389790" 또는 "0389790"과 같은 매개변수가 있는 인터위키 링크나, 그들 링크 중 하나 또는 전체 URL과 같은 매개변수를 갖는 외부 링크를 사용하도록 설정할 수 있으므로, IMDb 참조를 포함하기가 더 쉽습니다.

인터위키 링크의 대안으로, 일반 텍스트 페이지 제목을 알려진 위키로의 URL 인코딩된 외부 링크로 래핑하는 템플릿을 만들 수 있으며, 그런 다음 인터위키 링크와 동등한 구문으로 호출할 수 있습니다. 이것은 외부 링크의 모양을 유지하면서도 인터위키 링크와 같은 편의성을 제공합니다.

[https://example.com/wiki/{{urlencode:{{{1}}}|WIKI}} {{{2|{{{1}}}}}}]

그런-다음

Then, [[iw:External Page Title]] 대신에, 템플릿을 호출합니다:

{{IW|External Page Title}} → External Page Title {{IW|External Page Title|Alternate text}} → Alternate text

인터위키 링크는 렌더링되는 같은 위키를 가리키도록 구성할 수 있습니다. 예를 들어, Manual:Interwiki는 이 페이지를 가리킵니다. 이들 링크는 내부 링크와 동일하게 취급되고 Special:WhatLinksHere에 표시되고, 바로 앞의 셀프링크이면 굵게 표시되고, 페이지가 존재하지 않으면 빨간색으로 표시, 등입니다.

See also