Jump to content

Расширение:Interwiki

From mediawiki.org
This page is a translated version of the page Extension:Interwiki and the translation is 88% complete.


Справка по расширениям MediaWiki
Interwiki
Статус релиза: стабильно
Реализация Служебная страница
Описание Добавляет служебную страницу для просмотра и управления таблицей interwiki
Автор(ы) Stephanie Amanda Stevens, SPQRobin
Последняя версия 4.0
MediaWiki 1.36—1.43
Изменения в БД Нет
  • $wgInterwikiCentralDB
  • $InterwikiCentralInterlanguageDB
  • $wgInterwikiViewOnly
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 недоступно.

Установка

Это расширение поставляется с MediaWiki 1.21 и выше, так что вам не нужно загружать его. Остальные инструкции по настройке всё равно необходимо соблюдать.
Расширение было объединено с ядром MediaWiki 1.44 . Для этой и более поздних версий MediaWiki установка не требуется.
  • Скачайте и распакуйте файл(ы) в папку с названием Interwiki в вашей папке extensions/.
    Вместо этого разработчикам и соавторам кода следует установить расширение из Git, используя:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Interwiki
    
  • Добавьте следующий код в конце вашего файла LocalSettings.php :
    wfLoadExtension( 'Interwiki' );
    // Предоставление группе (например, администраторам) разрешения на редактирование данных интервики
    $wgGroupPermissions['sysop']['interwiki'] = true;
    
  • Yes Готово – Перейдите на страницу 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