Расширение:Interwiki
Статус релиза: стабильно |
|
|---|---|
| Реализация | Служебная страница |
| Описание | Добавляет служебную страницу для просмотра и управления таблицей interwiki |
| Автор(ы) | Stephanie Amanda Stevens, SPQRobin |
| Последняя версия | 4.0 |
| MediaWiki | 1.36—1.43 |
| Изменения в БД | Нет |
|
|
|
interwiki |
|
| Лицензия | GNU General Public License 2.0 или позднее |
| Скачать | |
| Пример | Special:Interwiki |
| Переведите расширение Interwiki, если оно доступно на translatewiki.net | |
| Проблемы | Открытые задачи · Сообщить об ошибке |
Расширение Interwiki добавляет в MediaWiki страницу Special:Interwiki, позволяющую просмотреть и редактировать таблицу interwiki, а также журнал всех действий, выполненных с ней.
Это расширение работает с переменной $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;
Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.
- Конфигурация, идущая вместе с MediaWiki, не предоставляет разрешения ни одной группе пользователей. В следствие чего вам нужно будет добавить конфигурацию самостоятельно, иначе редактировать интервики не сможет никто.
- Чтобы разрешие включение с других сайтов, вам нужно включить
$wgEnableScaryTranscluding. - Чтобы запретить добавление префиксов через интерфейс
Special:Interwiki, установите$wgInterwikiViewOnlyнаtrue.
interwiki, указанным для каждого языка в SpecialInterwiki.i18n.php. Его значение — Просмотр и изменение данных об интервики.
Настройка
Межъязыковые ссылки
Чтобы настроить межъязыковые ссылки с помощью этого расширения, убедитесь, что $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для всех других языковых Википедий и для проектов по типуcommons:,wikinews:илиwikivoyage:. Пользователь вики за пределами Википедии, где интервики-префиксwikipedia:указывает наen.wikipedia.orgможет создать ссылку типа wikipedia:fr:Encyclopédie. Такая ссылка изначально идёт наfr:Encyclopédieна английской Википедии. Серверen.wikipediaсразу распознаётfr:как интервики-ссылку типаlocal, поэтому отвечает перенаправлением на la Wikipédia, гдеfr.wikipedia.org/wiki/Encyclopédieотображает запрошенную страницу [[Encyclopédie]] на французском языке — et voilà. - Разрешение включения выполняется редко, поскольку позволяет статье на одной вики использовать шаблоны с другой. Это называется «страшным включением», поскольку может вызвать проблемы, если другая вики неожиданно изменит шаблон. Некоторые вики-фермы используют это для создания одной «центральной вики» с различными шаблонами, которые доступны другим вики той же фермы. Если вам оно не нужно, не трогайте.
Глобальные интервики
С версии 3 Interwiki поддерживает определение глобальной/центральной базы данных и вытягивание определенных интервики из неё совместно с локальной таблицей. По сути оно функционирует как слияние таблиц с локальными интервики переопределяющими центральные. Языковые ссылки не вытягиваются из центральной таблицы; они создаются только как локальные из-за того, что центральная таблица, скорее всего, обслуживает более одного проекта (у каждого из которых свои языки).
Центральная таблица — это таблица интервики центральной вики. Это означает, что в отношении центральной вики она по сути является обычной неглобальной настройкой. Поэтому нет каких-либо особых прав, связанных с центральной (глобальной) таблицей, хотя, вероятно, вам захочется быть более выборочными в отношении того, кому вы на ней предоставляете право «interwiki».
- Это решение было принято, исходя из текущих возможных вариантов использования (центральная ShoutWiki, центральная Uncyclomedia и Meta-Wiki), где на центральной вики всё равно не будет содержаться ничего дополнительного.
- Это может измениться в будущем, но для реализации более сложных решений потребуются обновления схемы.
- Это, вероятно, не работает с префиксами таблиц из-за способа обращения к ним.
Чтобы установить центральную таблицу интервики, просто укажите название базы данных вики, которую вы хотите использовать:
// 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'];
Протокол-относительные URL
You can use protocol-relative URLs (PRURLs), so that users accessing your wiki over either HTTP or HTTPS can use that same protocol to access interwiki links.
To use a PRURL, first ensure the destination server supports HTTPS; if it does, then simply remove the https: portion of the URL in the link table.
Например, измените
https://en.wikipedia.org/wiki/$1
на:
//en.wikipedia.org/wiki/$1
| Это расширение используется в одном или нескольких проектах Викимедиа. Вероятно, это означает, что расширение стабильно и работает достаточно хорошо, чтобы использоваться такими сайтами с высоким трафиком. Найдите название этого расширения в файлах конфигурации Викимедиа CommonSettings.php и InitialiseSettings.php, чтобы узнать, где оно установлено. Полный список расширений, установленных на конкретной вики, можно увидеть на странице Special:Version wiki. |
| Это расширение включено в следующие вики-фермы/хостинги и/или пакеты: |
- Stable extensions/ru
- Special page extensions/ru
- Extensions which add rights/ru
- GPL licensed extensions/ru
- Extensions in Wikimedia version control/ru
- All extensions/ru
- Extensions bundled with MediaWiki 1.21/ru
- Extensions used on Wikimedia/ru
- Extensions included in BlueSpice/ru
- Extensions included in Canasta/ru
- Extensions available as Debian packages/ru
- Extensions included in MyWikis/ru
- Extensions included in ProWiki/ru
- Extensions included in semantic::core/ru
- Extensions included in ShoutWiki/ru
- Extensions included in Telepedia/ru
- Extensions included in wiki.gg/ru
- Interwiki extensions/ru
