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

от автора

Я расскажу об одной из замечательных возможностей 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.

ссылка на оригинал статьи http://habrahabr.ru/post/180075/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *