WikiDer > Справка: Системное сообщение - Википедия

Help:System message - Wikipedia

Википедия использует страницы системных сообщений для создания пользовательского интерфейса, видимого читателям. Пользовательский интерфейс включает в себя все визуальные элементы Википедии, такие как левая боковая панель, верхняя панель инструментов и сообщения об ошибках. Эти системные страницы расположены в Пространство имен MediaWiki, доступно для каждого поддерживаемого языка, настраивается и редактируется только администраторы и редакторы интерфейсов.

Технический

В принципе, для каждого языка набор ок. 1800 системные сообщения на этом языке предоставляется в файл сообщения языки / сообщениякод языка.php. В настройках авторизованный пользователь может выберите язык интерфейса. Для случайного использования его также можно указать в URL с параметром uselang =language_code. По состоянию на октябрь 2007 г. 150 языков интерфейса на выбор. Полноту языковых файлов см. статистика локализации.

На каждом сайте MediaWiki есть язык сайта. Это язык интерфейса по умолчанию для этого сайта. По состоянию на октябрь 2007 г. 100 языков, для которых есть отдельная Википедия, но еще нет языкового файла. Эти Википедии обычно имеют английский язык в качестве языка интерфейса по умолчанию. Однако в настоящее время создание языкового файла является условием для открытия новой языковой версии Википедии, см. Мета: Политика языкового предложения # Реквизиты.

Обычно код использует язык сайта в целях ссылок (функция wfMsgForContent) и язык, указанный пользователем в других текстах, включая метки ссылок (функция wfMsg).

HTML-элементы, которые обычно не передаются в браузер, находятся при появлении в определенных сообщениях.

Поиск системных сообщений

Вы можете найти ключ сообщения, просмотрев Википедию в специальном псевдоязычном коде qqx, что можно сделать, добавив ?Uselang= qqxк URL-адресу или & uselang = qqx если URL уже содержит ? персонаж (пример). Затем все сообщения будут заменены их ключами сообщений, чтобы вы могли определить, какое сообщение является ответственным. Сообщения, которые всегда на языке содержимого, не будут отображаться с использованием qqx. Special: Preferences # mw-prefsection-gadgets есть опция «Добавить ссылку на панель инструментов для перезагрузки текущей страницы с открытыми именами системных сообщений». Этот гаджет использует тот же qqx, который вы можете добавить вручную.

Когда URL-адрес включает в себя фрагмент, который ссылается на конкретную точку на странице, например, раздел или вкладку, например специальная страница "Настройки" вам нужно будет добавить фрагмент после параметра uselang, например Special: Preferences? Uselang = qqx # mw-prefsection-rendering..

Ключи сообщений, которые зависят от данных, отправленных пользователем, могут не отображаться при использовании qqx. Все сообщения из API перечисляет около 25000 сообщений. Их можно искать в строке с Ctrl+F во многих браузерах. Обратите внимание, что часто отображается основной вики-текст, а не только отображаемый текст.

Пространство имен MediaWiki

В Пространство имен MediaWiki один из 16 стандартных пространства имен в структуре базы данных программного обеспечения MediaWiki. Для всех языков это пространство имен позволяет администраторы для создания специфичных для сайта отклонений от системных сообщений по умолчанию. Он включен по умолчанию в последних версиях mediawiki, $ wgUseDatabaseMessages = правда; позволяет им. За каждое отклонение от значения по умолчанию в языке сайта $ wgLanguageCode есть страница MediaWiki:message_ID, и для каждого отклонения от значений по умолчанию для каждого другого языка страницы MediaWiki:message_ID / language_code. См. Например MediaWiki: О странице. Однако MediaWiki: боковая панель/ language_code не работает (для боковая панель для пользователей с таким языком интерфейса); вместо этого страница MediaWiki: Sidebar может ссылаться на идентификаторы сообщений, которые предоставляют метки ссылок в зависимости от языка интерфейса, указанного пользователем. Если сообщение не определено ни в соответствующем файле сообщений, ни на странице MediaWiki, используется сообщение в файле сообщений на английском языке.

При просмотре «несуществующей» страницы, имя которой является именем существующего сообщения, отображается страница по умолчанию. «Несуществующую» страницу можно распознать по отсутствию ссылки на историю. Страница редактирования автоматически заполняется значением по умолчанию. Включение «несуществующей» страницы в пространство имен MediaWiki включает значение по умолчанию.

Названия всех «существующих» страниц см. @ А B C D E F грамм ЧАС  я  J K L M N О п Q р S Т U V W Икс Y Z

Для языка интерфейса, установленного в настройках, все сообщения по умолчанию и текущие версии можно просмотреть на Специальное: Все сообщения, с красными ссылками для создания новых отклонений от значений по умолчанию. При создании страницы для переопределения значения по умолчанию полезно сначала сохранить версию по умолчанию, чтобы разрешить различия с ней.

Отклонение от значения по умолчанию происходит немного медленнее.

Администратор, имеющий доступ к языковым файлам, может выбирать между их адаптацией и созданием страниц в пространстве имен MediaWiki. Последнее упрощает обновление до новой версии MediaWiki, сохраняя при этом собственные версии сообщений. С другой стороны, легче перенести языковой файл на другой сайт MediaWiki, чем экспортировать и импортировать страницы, в интересах пользователей, которые выбрали соответствующий язык в качестве языка интерфейса.

Расширение можно установить, например, ключ сообщения aaa на bbb:

  global $ wgMessageCache; $ wgMessageCache-> addMessages (array ('aaa' => 'bbb'));

Ключ должен начинаться со строчной буквы, даже если файлы сообщений определяют сообщения с использованием идентификатора, написанного с заглавной буквы, и даже если соответствующая страница MediaWiki имеет заглавную букву после двоеточия, в данном случае MediaWiki: Aaa, даже в вики, которые позволяют первая строчная буква в названиях страниц. (По умолчанию содержимое MediaWiki: aaa становится bbb, но его изменение не имеет никакого эффекта.)

После получения массива сообщений расширения $ ma:

  $ ma = $ wgMessageCache-> getExtensionMessagesFor ('ru');

значение можно получить с помощью $ ma ['aaa'], например к:

  $ wgOut-> addWikiText ($ ma ['ааа']);

Результат после возможного переопределения содержимым страницы MediaWiki может быть получен с помощью wfMsg ('aaa').

Это относится не только к сообщению в строгом смысле слова; например, расширение может позволить сообществу пользователей через сисопа предоставлять параметры таким образом; это может быть даже имя тега расширения, см., например, mw: Расширение: PropertyTable, где тег используется по умолчанию, но, например, тег можно использовать после создания страницы «MediaWiki: propertyTable tag» с содержанием «pr» (но обратите внимание, что для переносимости вики-текста с тем же расширением эта гибкость также имеет недостатки).

Все символы префиксов пространств имен не чувствительны к регистру, поэтому можно написать «mediawiki:».

MediaWiki до версии 1.9.x

В версии 1.9.x концепция сообщений изменилась. Раньше для каждого сообщения существовала страница, даже если она была по умолчанию. При обновлении удаляются все страницы с сообщениями по умолчанию.

Защита

По умолчанию все пространство имен MediaWiki защищено. Это необходимо по ряду причин:

  • Многие сообщения имеют простой HTML-код, поэтому пользователи могут вставлять вредоносные скрипты.
  • Вандализм в отношении некоторых сообщений был бы чрезвычайно разрушительным, например, изменения текста ссылок на боковой панели сразу же будут видны всем пользователям.

С другой стороны, особенно для страниц MediaWiki:message_ID / language_code защита в некоторой степени непрактична, поскольку администраторы не знают всех языков, которые могут быть установлены для пользовательского интерфейса.

Если администратор желает разрешить общее редактирование страницы MediaWiki, можно поместить сообщение в шаблон и включить этот шаблон на страницу MediaWiki.

Теоретически некоторые сообщения могут привести к прекращению работы программного обеспечения, если они будут изменены, например, «linktrail». Следовательно, и для эффективности обработки эффект страницы MediaWiki: Linktrail был отключен: программа игнорирует его содержимое, беря регулярное выражение прямо из файлов сообщений.

Технические детали

Номер пространства имен сообщений MediaWiki: 8, с соответствующим пространством имен MediaWiki talk 9 для обсуждения отдельных сообщений. Некоторые вики-сайты MediaWiki предлагают такие шаблоны, как w: template: editprotected ( разговаривать редактировать история ссылки) чтобы предлагать модификации, у других есть страница вродеМета: Просьбы о помощи к сисопу или бюрократу для этого.

Ссылки на сообщения MediaWiki работают как ссылки на обычные страницы, примеры
[[MediaWiki: Edit]] MediaWiki: Редактировать,
[[w: de: MediaWiki: Edit]] w: de: MediaWiki: Редактировать,
[{{fullurl: m: MediaWiki: Edit | action = render}} демонстрация] демо.

Каждое сообщение в $ wgAllMessagesEn массив в Messages.php соответствует странице в пространстве имен MediaWiki. Например, в php-файле есть строка:

'confirmmprotect' => 'Подтвердить защиту',

Этому соответствует страница MediaWiki: Confirmprotect, и {{int: Confirmprotect}} дает «Confirmprotect». Когда эта страница редактируется, новое сообщение автоматически используется для, скажем, https://meta.wikimedia.org/wiki/Main_page?action=protect. по аналогии w: fr: MediaWiki: Confirmprotect имеет содержание Подтвердите защиту, обратите внимание, что само название страницы не переведено.

Включение

Включение системного сообщения, см., Например, шаблон: Ed ( разговаривать редактировать история ссылки), может быть выполнено с помощью обычного синтаксиса включения для страницы MediaWiki, даже если страница не существует и используется значение по умолчанию:

{{MediaWiki: Edit}} = Редактировать эту страницу, системное сообщение с идентификатором "изменить", которое сайт использует в межъязычном интерфейсе по умолчанию.

Также, функция парсера int может быть использован:

{{int: Edit}} = Редактировать эту страницу, системное сообщение с идентификатором "изменить", которое сайт использует в заданном пользователем межъязыковом интерфейсе.

Если нет ни страницы, ни значения по умолчанию, результат "int" отличается от "MediaWiki:", даже если пользователь использует язык интерфейса сайта по умолчанию:

{{MediaWiki: Erehwon}} = MediaWiki: Эрехвон
{{int: Erehwon}} = ⧼Erehwon⧽

Сообщения, определенные в расширениях, даже если они находятся в Специальное: Все сообщения, могут или не могут быть включены:

{{MediaWiki: Нет результатов в динамическом списке страниц}} дает MediaWiki: динамический список страниц без результатов
{{MediaWiki: Expandtemplates}} дает шаблоны Expand

Однако многие сообщения не подходят для включения, потому что они содержат $1 и аналогичные параметры, не оцениваемые синтаксическим анализатором шаблонов, или необработанные CSS и XHTML разметка не допускается на обычных страницах.

Межъязыковые ссылки

Межъязыковые ссылки в MediaWiki сообщения обычно не работают: теги noinclude и синтаксис ссылки могут не интерпретироваться.

Вместо этого можно использовать внутристраничные межъязыковые ссылки на страницах обсуждения, шаблон: ilm ( разговаривать редактировать история ссылки) делает это для некоторых основных вики-сайтов MediaWiki.

Строки исключительно для языкового файла

Некоторые текстовые строки нельзя настроить с помощью этой функции, поэтому их можно изменить только путем редактирования языкового файла:

  • Заголовки пространства имен «Пользователь», «Википедия», «Изображение» и т. Д. ($ NamespaceNames)
  • Имена специальных страниц ($ specialPageAliases)
  • $ skinNames (показано в Special: предпочтения)
  • $ bookstoreList
  • $ separatorTransformTable
  • $ linkTrail
  • $ dateFormats

Смотрите также