Pull to refresh

Настройка пользовательского интерфейса в стиле MediaWiki

Reading time 2 min
Views 13K
Я расскажу об одной из замечательных возможностей MediaWiki — настройки системных сообщений. Разрозненные куски того, как это делать, попадаются в документации, но всё же прицельный обзор, надеюсь, будет кому-то полезен.

Каждый раз, когда кто-то в коде MediaWiki или своего расширения использует функцию wfMessage (или одну из устаревших функций, например wfMsg), сообщение становится возможным перевести на много-много языков. Это все знают. Что более интересно, так это то, что теперь ваше системное сообщение можно переопределять непосредственно в вики, на посвященной ему страничке.

Три столпа системных сообщений


Для того, чтобы просто и чисто настраивать системные сообщения в вики, очень помогут три инструмента:
  • cтраница Special:AllMessages,
  • сайт translatewiki.net,
  • параметр &uselang=qqx


Special:AllMessages


Сюда попадают все системные сообщения (для текущего языка), встречающиеся в коде MediaWiki, скинов и расширений. Многие редактировали MediaWiki:Common.css, MediaWiki:Common.js и MediaWiki:Sidebar, но не подозревают, что все они тоже относятся к системным сообщениям. Все они хранятся в пространстве имен MediaWiki.



Достаточно неприятно в этой спецстранице то, что по списку сообщений нельзя осуществить полнотекстовый поиск — искать можно только по префиксу кода сообщения. Захотел я, предположим, изменить подпись пункта «Отказ от ответственности» и угадал, что он называется disclaimer. Хорошо, поменяю страничку MediaWiki:disclaimer. А вот как быть с такими вещами как «Создать учетную запись», если метод угадывания не срабатывает?

Параметр &uselang=qqx


Благодаря системе интернационализации, я всегда могу посмотреть на MediaWiki-сайт с интерфейсом языка, который мне по душе. Для этого используется параметр &uselang=<код языка>. А вот если в качестве кода языка указать qqx, то вместо сообщений будут показываться их коды, вот так:



Теперь нам осталось только отредактировать страницу MediaWiki:Createaccount.

Translatewiki


Не все вещи можно увидеть с помощью &uselang=qqx. Например, мне хочется поменять название главной страницы. qqx мне в этом не поможет.

Тут на помощь приходит Translatewiki. Это проект, в котором Wikmedia foundation и другие компании совместно с армией волонтеров осуществляют перевод софта на все возможные языки. Считаете, что название вкладки в википедии «Обсуждение участника» звучит по-идиотски, и его надо заменить на «Стена пользователя»? Начните священную войну в translatewiki, для этого не нужно никаких программистских навыков.
Нам Translatewiki полезна своим поиском. Поищем там «Заглавная страница» и сразу увидим, что код у этого сообщения MediaWiki:Mainpage.

Заключение


Надеюсь, вам понравилось. Как мне кажется, этот способ настройки интерфейса намного нагляднее и чище, чем подключение к вики дополнительного кода на CSS и Java Script.
Tags:
Hubs:
+5
Comments 1
Comments Comments 1

Articles