Extension:Interwiki

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

Other languages:
English • ‎dansk • ‎日本語
この拡張機能は MediaWiki 1.21 以降に同梱されています。 そのため再度ダウンロードする必要はありません。 しかし、提供されているその他の手順に従う必要はあります。
MediaWiki 拡張機能マニュアル
Crystal Clear action run.svg
Interwiki
リリースの状態: 安定
MediaWiki extension Interwiki.png
実装 Special page
説明 Adds a special page to view and manipulate the interwiki table
作者 Stephanie Amanda Stevens, SPQRobin
最新バージョン 3.1 (2018-06-07)
MediaWiki 1.28+
データベースの変更 いいえ
ライセンス GNU General Public License 2.0 or later
ダウンロード
こちらを参照
パラメーター
  • $wgInterwikiViewOnly
  • InterwikiCentralDB
追加する権限
interwiki
translatewiki.net で翻訳を利用できる場合は、Interwiki 拡張機能の翻訳にご協力ください
使用状況とバージョン マトリクスを確認してください。
問題点 未解決のタスク · バグを報告

The Interwiki extension adds the "Special:Interwiki" page to MediaWiki , to view and edit the interwiki table, and a log of any actions made with it.

Since Interwiki version 2.1, it works with the $wgInterwikiCache , and the CSS uses ResourceLoader .

The list of "Special:Interwiki" is identical to the API action=query&meta =siteinfo&siprop=interwikimap, except the iw_api field is not available.

ダウンロード

拡張機能は、Git から直接取得できる場合があります [?]:

  • コードを参照
  • 一部の拡張機能には安定版リリースのタグがあります。
    • タグを参照
    • タグを選択します
    • 「スナップショット」をクリックします
  • 各ブランチは過去の MediaWiki リリースと関連付けられています。 最新のアルファ バージョンを含む「master」ブランチもあります (MediaWiki のアルファ バージョンが必要な場合用)。

スナップショットを展開して、MediaWiki インストレーション内の extensions/Interwiki/ ディレクトリに配置します。

git に馴染みがあり、かつサーバーにシェルでアクセスできる場合は、拡張機能を以下のようにして取得することもできます:

cd extensions/
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Interwiki.git

インストール

  • ダウンロードして、ファイルを extensions/ フォルダー内の Interwiki という名前のディレクトリ内に配置します。
  • 以下のコードを LocalSettings.php の末尾に追加します:
    wfLoadExtension( 'Interwiki' );
    // To grant sysops permissions to edit interwiki data
    $wgGroupPermissions['sysop']['interwiki'] = true;
    
    // To create a new user group that may edit interwiki data
    // (bureaucrats can add users to this group)
    # $wgGroupPermissions['developer']['interwiki'] = true; // delete the comment indicator # as appropriate
    
  • Yes 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

MediaWiki 1.24 以前を稼働させている利用者へ:

上記の手順では、wfLoadExtension() を使用してこの拡張機能をインストールする新しい方法を記載しています。 この拡張機能をこれらの過去のバージョン (MediaWiki 1.24 以前) にインストールする必要がある場合は、wfLoadExtension( 'Interwiki' ); の代わりに以下を使用する必要があります:

require_once "$IP/extensions/Interwiki/Interwiki.php";

注 注:

  • The configuration that comes with MediaWiki will not grant permission to any user group. Thus, you will need to add the configuration yourself or no one will be able to edit interwikis.
  • To enable transclusion from other sites, you'll need to enable $wgEnableScaryTranscluding.
  • To disable adding prefixes through the Special:Interwiki interface, set $wgInterwikiViewOnly to true.
This extension's entry in the list of Special pages is not the name of the extension. The entry in the list is defined by the interwiki message item defined per locale in SpecialInterwiki.i18n.php. For English locales, its value is View and edit interwiki data.

Setting up interlanguage links

To set up interlanguage links using this extension, make sure that $wgInterwikiMagic is set to true and $wgHideInterlanguageLinks is set to false (they are like this by default, you don't need to change them usually). Then go to Special:Interwiki as a user with the appropriate permissions. For example, if the French version of your wiki was located at http://fr.foowiki.tld/wiki/, you could add http://fr.foowiki.tld/wiki/$1 to the interwiki table with values trans 0 and local 0. Then the interlanguage link to the French version would work, but a #REDIRECT to a French-language page from a page in some other language would be refused.

See Manual:Interwiki table for a full explanation of the forward (iw_local) and transclude (iw_trans) bits.

In brief:

  • Enabling forwarding ('local' true) is normally done between all languages and projects in the same group, as it allows a link to any one of the languages to be used as a gateway to the others. The English-language Wikipedia, for instance, sets the 'local' bit true for all of the other-language Wikipedias and for projects like commons:, wikinews: or wikivoyage:. A user on a wiki outside Wikipedia where the wikipedia: interwiki prefix points to en.wikipedia.org could create a link like wikipedia:fr:Encyclopédie. That link goes initially to "fr:Encyclopédie" on the English-language Wikipedia. The en.wikipedia server immediately recognises fr: as a 'local' interwiki link, so replies with a redirect to la Wikipédia where fr.wikipedia.org/wiki/Encyclopédie displays the requested French-language Wikipédia page [[Encyclopédie]] et voilà.
  • Enabling transclusion is rarely done, as it allows an article on one wiki to use templates from some other wiki. This is referred to as 'scary transclusion' as it will cause problems if the other wiki changes the template unexpectedly. A few wiki farms use this to create one 'central wiki' with various templates which are made available to other wikis in the same farm. If you don't need this, don't enable it.

Global interwikis

Since version 3, Interwiki supports defining a global/central database and pulling defined interwikis from there as well as from the local table. This functions essentially as a table merge, with local interwiki definitions overriding central. Language links are not pulled from the central table; these are set up as local-only due to a central table likely serving more than one project (with each having its own languages).

The central table is the interwiki table of the central wiki. This means that as far as the central wiki is concerned, it is basically just a normal non-global setup. There are therefore no special rights associated with the central (global) table, though it is likely you may want to be more picky about how you assign the 'interwiki' edit right on this wiki.

  • This was decided by looking at current possible use cases (ShoutWiki's hub, Uncyclomedia's central wiki, and Meta-Wiki) where the central wiki isn't going to have anything extra anyway.
  • This might change in the future, but anything more intelligent will require schema updates.
  • This probably doesn't work with table prefixes because of how the table is accessed.

To set up a central interwiki table, simply provide the name of the database of the wiki you want to use:

// To enable pulling global interwikis from a central database
$wgInterwikiCentralDB = 'mw_central';

Replace 'mw_central' with the name of the database.

For those using table prefixes here is an alternative solution for "pool_example_wiki" tables.

$wgSharedDB = 'example_wiki'; # The $wgDBname for the wiki database holding the main interwiki table
$wgSharedPrefix = 'pool_'; # The $wgDBprefix for the database. Defaults to the prefix of the current wiki if not specified
$wgSharedTables = ['interwiki'];

Protocol-relative URLs

MediaWiki supports protocol-relative URLs (PRURLs), from MediaWiki 1.18+. With a PRURL, a user accessing a page over http or https uses the same scheme to access the interwiki link. To use a PRURL, first ensure the destination server supports HTTPS; if it does, then simply remove the http: portion of the URL in the link table. For example, change

http://en.wikipedia.org/wiki/$1

to:

//en.wikipedia.org/wiki/$1