Часто перед розробником проекту на основі системи керування сайтом MediaWiki виникає ситуація, коли потрібно розширювати проект за рахунок перекладу існуючих статей мовами відмінними від оригіналу. Тож і виникає логічна запитання — яким чином це зробити? Як краще?
Для реалізації багатомовності у MediaWiki є технологія Interwiki. Вона забезпечує перехід на зовнішні проекти по посиланнях оформлених як внутрішні з допомогою спеціальних префіксів. Наприклад посилання типу [[Wikipedia:Main Page]] має вигляд - Wikipedia:Main Page та перенаправляє на головну сторінку (Main Page) Вікіпедії.
Слід звернути увагу на те, що по замовчуванню у деяких версіях (починаючи з 1.10) системи контролю сайтом MediaWiki є встановленими наступні інтер-вікі префікси:
Важливо. Пробіли в назвех статей повинні бути замінені на “_” (знак підкреслення).
Встановлення Вікі Сімейства
Зауваження: Досвідчені користувачі Mysql можуть використовувати наступну просту команду: INSERT INTO interwiki SET iw_prefix = '(ім'я вікі-проекту)', iw_url = 'http:// (URL цього проекту) / $ 1', iw_local = 1, iw_trans = 0; - замість того, щоб експортувати і потім повторно імпортувати вміст всієї таблиці інтервікі-посилань ...
(А досвідчені користувачі PostgreSQL використовують для цього ж команду INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans) VALUES ('w', 'w: en: $ 1', 1, 0) ;)
Експортуйте таблицю бази даних 'interwiki', потім додайте в кінець таблиці наступний приклад для kayakwiki ...
('Kayakwiki', 'http://en.kayakwiki.org/index.php/ $ 1', 1, 0);
Зауваження: як показано в наведеному вище коді, роздільник ';' ПОВИНЕН бути в кінці таблиці. В кінці будь-який інший рядки цієї таблиці роздільником повинен бути ЛИШЕ символ ','.
Імпортуйте таблицю 'interwiki'
Протестуйте результат: Перейдіть на ваш сайт і створіть сторінку, в якій буде наступний зміст ...
[[Kayakwiki: Places |]] повинна відобразитися як посилання на сторінку 'Places' на сайті KayakWiki.org (URL - http://en.kayakwiki.org/index.php/Places)
Оскільки у версії 1.9 і більш ранніх список інтервікі, що поставляється за замовчуванням, не включає Вікіпедію, ви можете додати її самостійно (а також інші проекти, які буде потрібно).
У таблиці бази даних interwiki є наступні поля:
iw_prefix: виберіть префікс, який буде використаний як інтервікі-посилання, наприклад, "wikipedia" для перенаправлення на Вікіпедію.
Зауваження: Префікси повинні бути написані малими літерами.
iw_url: введіть адресу проекту, наприклад, http://ru.wikipedia.org/wiki/ $ 1 для Вікіпедії. Не забувайте, що $ 1 замінюється назвою статті, на яку ви посилаєтесь ([[Wikipedia: Головна сторінка]] перенаправляє на http://ru.wikipedia.org/wiki/Заглавная_страница).
Зауваження: Якщо iw_url - це двійкове поле BLOB (в SVN-версії, але також зустрічається і у версії 1.11.0), то напряму не буде працювати. Вам доведеться вводити адресу в двійковому вигляді. Є два можливі рішення: 1. Збережіть адресу в текстовий файл, а потім імпортуйте його через PhpMyAdmin. 2. Ви можете безпосередньо ввести SQL-запит.
iw_local: якщо 1, то вікі буде перенаправляти навіть зовнішні посилання виду iw_prefix: title, не тільки з власних сторінок. Потрібно, якщо ви хочете використовувати перенаправлення за меж вашої вікі або інших вікі, щоб створити вкладені міжвікі-посилання (зразок, w: en: fr: Accueil).
iw_trans: «включення міжвікі» - вкажіть 1, якщо ви хочете використовувати сторінки з інших вікі в якості шаблонів. Також вам треба буде вказати $ wgEnableScaryTranscluding = true, у файлі LocalSettings.php
Tools.svg 'Порада для адміністраторів вікі: У MediaWiki.org деякі довідкові сторінки перенаправляють на простір імен Manual. Щоб зробити такі посилання на локальній вікі, додайте інтервікі-посилання з параметрами iw_prefix = manual та iw_url = http://www.mediawiki.org/wiki/Manual: $ 1
Інтервікі посилання на інші мови
Якщо у вас встановлено вікі-сімейство, ви можете пов'язати статтю з англійською розділу, з статтею з німецького розділу (якщо у вас є німецький проект). Ви можете налаштувати MediaWiki, щоб були відображені на них посилання в бічній панелі, трохи нижче панелі інструментів.
У вашій файловій системі є підпапка установки MediaWiki, звана "languages". Перейдіть в неї, там ви побачите файл "Names.php" містить список відомих мов і їх префіксів. Наприклад, ви можете додати свій німецький проект, знайшовши у файлі "Names.php" слову "Deutsch" і запам'ятавши префікс "de".
Якщо ви знаєте "правильний" префікс, то відредагуйте вашу базу даних додавши новий рядок в таблиці interwiki:
iw_prefix: префікс мови (наприклад, "de" для німецької мови), зазначений у файлі "Names.php"
iw_url: адреса вашого вікі-проекту (eg http://de.your-wiki.org/index.php/ $ 1)
iw_local: те ж, що в розділі "Додавання нового веб-сайту"
iw_trans: те ж, що в розділі "Додавання нового веб-сайту"
Тепер, ви можете пов'язати статтю з іншими мовними розділами. Додавання [[de: Hauptseite]] на вашу заголовну сторінку англійського розділу, створить посилання "Deutsch" нижче панелі інструментів, вказуючи на заголовну сторінку німецького розділу (Hauptseite).
Зверніть увагу, що це посилання відображається тільки в бічній панелі, але не в тексті статті. Якщо ви хочете створити посилання всередині тексту, ви повинні додати двокрапку до префікса: [[: de: Hauptseite]].