Каждый раз, когда в кто-то в коде 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/
Добавить комментарий