Extension:Interwiki/zh
![]() Category:Stable extensions/zh |
|
---|---|
![]() |
|
Category:Special page extensions/zh | |
描述 | 添加一個特殊頁面以查看和操作interwiki 的数据表 |
作者 | Stephanie Amanda Stevens, SPQRobin |
最新版本 | 3.2 (2019-07-15) |
MediaWiki | 1.36+Category:Extensions with manual MediaWiki version |
否 | |
GNU通用公眾授權條款2.0或更新版本 | |
下載 | Category:Extensions in Wikimedia version control/zh |
Special:Interwiki | |
|
|
interwiki
Category:Extensions which add rights/zh |
|
季度下載量 | 33 (Ranked 63rd) |
正在使用的公开wiki数 | 4,929 (Ranked 181st) |
前往translatewiki.net翻譯Interwiki | |
問題 | 开启的任务 · |
Interwiki 扩展将"Special:Interwiki"页面添加到MediaWiki ,用以查看和编辑interwiki 数据表,還有添加一個以它所做出來的任何操作的日誌。
它在MediaWiki 1.44版中併入到MediaWiki核心。
此扩展與$wgInterwikiCache 变量配合使用。
使用它對interwiki
数据表所做的更改可能會影響嵌入 和跨維基連結 的行为。
"Special:Interwiki" 的列表与 API api.php?action=query&meta =siteinfo&siprop=interwikimap
相同,只是 iw_api
字段不可用。
安裝
- 下载,并将解压后的
Interwiki
移动到extensions/
目录中。
开发者和代码贡献人员应从Git安装扩展,输入:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Interwiki - 将下列放置在您的LocalSettings.php 的底部:
wfLoadExtension( 'Interwiki' ); // 授予某個群組(例如「系統管理员」群組)权限以编辑跨维基数据 $wgGroupPermissions['sysop']['interwiki'] = true;
完成 – 在您的wiki上至Special:Version,以验证已成功安装。
- MediaWiki 自带的配置不会授予任何用户组权限。 因此,您需要自己添加配置,否则没有人能够编辑跨维基数据。
- 要启用来自其他站点的嵌入,您需要启用
$wgEnableScaryTranscluding
。 - 要禁用通过 Special:Interwiki 接口添加前缀,请将
$wgInterwikiViewOnly
设置为true
。
SpecialInterwiki.i18n.php
中每个语言环境定义的 interwiki
消息项定义。 它的值为查看和编辑跨wiki数据。
設置跨语言的链接
要使用此擴展功能建立跨語言的連結,請確保$wgInterwikiMagic
設定為true
、$wgHideInterlanguageLinks
設定為false
(它們預設為此設定,通常是無需去更改)。
$wgInterwikiViewOnly
也需要設定為false
(這是預設值)。
然後以能夠編輯跨維基連結的用戶身份前往 Special:Interwiki。
這由interwiki
的權限控制,默認情況下,不會有任何用戶組擁有此權限,因此需要將其添加到用戶組中,例如:
$wgGroupPermissions['sysop']['interwiki'] = true;
您一旦在Special:Interwiki了,可以二者擇一,點擊表格頂部的「添加跨維基或語言前綴」鏈接、或是點擊現有跨維基前綴表格行中的「編輯」或「刪除」鏈接。
選擇添加跨維基或編輯跨維基的前綴將帶您到一個獨立的頁面,該頁面包含一個需要填寫多個欄位的表單。
主要的欄位有「name」,這是連結所使用的前綴;以及「URL」,您可以在其中輸入完整的URL樣式。
例如,設定name=foowiki
和URL=http://fr.foowiki.tld/wiki/$1
將使[[foowiki:Blah]]
指向http://fr.foowiki.tld/wiki/Blah
。
還有兩個標示為「轉發」和「嵌入」的复选框。
請參閱Manual:Interwiki table ,以了解轉發(iw_local
)和嵌入(iw_trans
)位元的完整說明。
簡而言之:
- 通常,在同一群組中會啟用所有語言和專案之間的轉發功能('local'是true),因為這樣可以將任何一種語言的連結作為通往其他語言的通道。 例如,英語維基百科對全部的別種語言維基百科以及其他的共享資源、維基新聞、或維基導遊等都設置了'local'位元為true。 某個用戶在維基百科以外的維基上,在此處的跨維基前綴wikipedia:就是指向en.wikipedia.org,他就可以藉此創建一個如同wikipedia:fr:Encyclopédie的鏈接。 此鏈接一開始是前往英語維基百科的“fr:Encyclopédie”。 而伺服器en.wikipedia會立即將fr:識別為一個「本地(local)」的跨維基連結,因此會回覆一個到法語維基百科的重定向,此處的fr.wikipedia.org/wiki/Encyclopédie會呈現示出所要求的法語維基百科頁面[[Encyclopédie]],。
- 啟用轉發功能的情況很少見,因為它允許在一個維基上的條目使用其他維基上的模板。 這被稱為「未爆彈轉發」,因為如果另一個維基在預期之外更改了模板,就會造成問題。 一些維基農場使用此功能創建一個「中央維基」,其中包含各種模板,這些模板可給那些同在一農場的其他維基使用。 如果您不需要此功能,請不要啟用它。
全域跨维基
自第3版以來,跨维基功能可讓你定義某個全域/中央資料庫,並從該資料庫以及本地数据表中提取已定義好的跨维基。 這本質上是一個数据表合併的功能,帶有可將中央資料庫的定義覆蓋掉的本地跨維基定義。 語言的連結不會從中央数据表中提取;由於中央数据表可能為多個專案提供服務(每個專案都有自己的語言),因此這些連結被設定為僅限本地使用。
中央数据表是中央維基的跨維基数据表。 這意味著就中央維基而言,它基本上只是個普通的非全域設置。 因此,中央(全域)表格沒有任何特殊權限,儘管您可能希望在指派此維基上的“跨維基”編輯的權限上更加吹毛求疵。
- 這是通過考察當前可能的用例(ShoutWiki的中心、偽維基的中央維基和元維基)得出的結論,這些用例中,中央維基本身並不會增加任何額外功能。
- 這可能在未來會發生變化,但任何更智能的功能都將需要更新架構。
- 這可能無法與資料表前綴一起使用,因為資料表的存取方式不同。
要建造一個中央跨維基資料表,只需提供您想要使用的維基資料庫的名稱即可:
// 啟用從中央資料庫提取全域跨維基的功能
$wgInterwikiCentralDB = 'mw_central';
將 'mw_central' 改為資料庫名稱。
對於使用資料表前綴的使用者,這裡有一個「pool_example_wiki」資料表的替代解決方案。
$wgSharedDB = 'example_wiki'; # 存放主要跨維基資料表的wiki資料庫的$wgDBname
$wgSharedPrefix = 'pool_'; # 資料庫的$wgDBprefix。如果未指定,則預設為當前wiki的前綴。
$wgSharedTables = ['interwiki'];
协议相对 URL
您可以使用 相對協議URL(PRURL),以便通過 HTTP 或 HTTPS 存取您的維基的用戶可以使用相同的協議訪問跨維基連結。
要使用 PRURL,首先確保目標伺服器支援HTTPS;如果支援,則只需從連結資料表中的URL中刪除https:
部份即可。
例如:變更
https://en.wikipedia.org/wiki/$1
為:
//en.wikipedia.org/wiki/$1
![]() | 此用于一个或多个维基媒体项目。 这可能意味着足够稳定、运作足够良好,可以用在这样的高流量的网站上。 请在维基媒体的CommonSettings.php和InitialiseSettings.php中查找此的名称以查看哪些网站安装了该。 特定wiki上的已安装的的完整列表位于Special:Version页面。 |