Справка:Волшебные слова

From mediawiki.org
This page is a translated version of the page Help:Magic words and the translation is 100% complete.
Outdated translations are marked like this.
PD Примечание: Редактируя эту страницу, вы соглашаетесь на передачу своего вклада по лицензии CC0.
Подробнее — в проекте Помощь с общественным достоянием.
PD

«Волшебные слова» в MediaWiki — комбинации текста, управляющие поведением, оформлением той или иной страницы в вики, а также выводящие некоторые полезные переменные из базы данных. Более подробную информацию см. в Руководство:Волшебные слова .

Существуют три основных типа «волшебных слов»:

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

Переключатели поведения

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

Слово Описание Версия
Содержание
__NOTOC__ Скрывает содержание страницы (table of contents, TOC).
__FORCETOC__ Заставляет оглавление появиться в обычном месте — перед первым заголовком (отменяет действие __NOTOC__). Не будет работать в скинах, отображающих содержание вне текста статьи, например, в Vector 2022.
__TOC__ Помещает оглавление в текущую позицию (переопределяя __NOTOC__). Если используется несколько раз, содержание будет отображаться у первого вызова. Не будет работать в скинах, отображающих содержание вне текста статьи, например, в Vector 2022.
Редактирование
__NOEDITSECTION__ Скрывает ссылки «править» для каждой секции страницы. Это особенно полезно, когда заголовок создается из шаблона: нормальный вики-инструмент редактирования разделов в этом случае изменял бы код шаблона, что, как правило, выглядит для пользователя противоестественно. Использование этого шаблона вызовет изменения в самом шаблоне, на всех страницах, в которые он вставлен, и всех остальных шаблонах, вставленных на той же странице. Возможен обходной путь.
__NEWSECTIONLINK__ Добавляет ссылку рядом со вкладкой «Править», которая добавляет новый раздел на любых страницах, кроме страниц обсуждений (смотрите добавление раздела в конец страницы).
1.7
__NONEWSECTIONLINK__ Удаляет ссылку около вкладки «Править» на страницах в пространстве «Обсуждение»
1.15
r47522
Категории
__NOGALLERY__ Используется на страницах категорий. При просмотре категории заменяет изображения на обычные ссылки.
1.7
__HIDDENCAT__ Используется на странице категории и позволяет скрыть эту категорию и нижеследующие из более старших категорий (в которые включена данная категория) (есть параметры в настройках пользователя для отображения их).
1.13
__EXPECTUNUSEDCATEGORY__ Используется на странице категории. Удаляет эту категорию из Special:UnusedCategories.
1.33
Преобразование языков
__NOCONTENTCONVERT__
__NOCC__
Запрещает выполнение любой языковой конвертации содержания статьи. Например, будет отображён только китайский (zh), вместо таких вариантов, как zh_cn, zh_tw, zh_sg, или zh_hk.
__NOTITLECONVERT__
__NOTC__
Запрещает выполнение языковой конвертации заголовка на сайтах с языковыми вариантами (прочее содержание будет проходить конверсию).
Другие
__START__ Ничего не делает Использовался для указания где начинается сообщение базы данных после комментария, которое не должно быть включено в другие страницы (transcluding). Удалено в r1695 и полностью удалено в r24784
1.10
r1610
__END__ Обозначает конец страницы, не давая MediaWiki удалить конечные пробелы. Удалено в 19213.
1.1 – 1.8
__INDEX__ Позволяет поисковым системам индексировать страницу (переписывает $wgArticleRobotPolicies , но не robots.txt). Подчиняется переменной $wgExemptFromUserRobotsControl .
1.14
__NOINDEX__ Запрещает индексацию страницы поисковыми системами (страница не будет отображена в результатах поиска). Подчиняется переменной $wgExemptFromUserRobotsControl .
1.14
r37973
__STATICREDIRECT__ Помещённая на страницу с перенаправлением, запрещает MediaWiki автоматически обновлять ссылку в случае, когда кто-то, переименовывая страницу, поставил флажок «Исправить перенаправления, указывающие на прежнее название» (для чего требуется $wgFixDoubleRedirects ).
1.13
r37928
Из расширений
Расширение Слово Описание Версии
GlobalUserPage __NOGLOBAL__ Отключает глобальную страницу пользователя. Если присутствует на центральной странице пользователя, то на других вики отображаться не будет, а также определяет, каким цветом будет показана ссылка на страницу пользователя в другой wiki - красным или синим.
1.28
Disambiguator __DISAMBIG__ Обозначает страницы решения неоднозначностей.
1.21
Wikibase __EXPECTED_UNCONNECTED_PAGE__ Некоторые вики-страницы не должны быть связаны с элементом Викиданных, например, архивы обсуждений, подстраницы шаблонов и т.д. Чтобы предотвратить попадание вики-страницы в список Special:UnconnectedPages, используйте это волшебное слово в любом месте страницы. Для страниц, которые не соответствуют критериям значимости Викиданных, не должны создаваться элементы.
1.37.0-wmf.14
DiscussionTools __ARCHIVEDTALK__ Скрывает ссылки "ответить" из обсуждений на заархивированных страницах.
1.39
Gerrit change 738221
__NOTALK__ Заставляет страницу в пространстве имен обсуждения не рассматриваться как страница обсуждения.
1.39
Gerrit change 903247

Переменные

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

Если имя шаблона конфликтует с переменной, будет использоваться эта переменная (поэтому для транскрипции шаблона Template:PAGENAME вам нужно будет написать {{Template:PAGENAME}}). В некоторых случаях добавление параметров заставит синтаксический анализатор вызывать шаблон; например, {{CURRENTDAYNAME|x}} включает Template:CURRENTDAYNAME, а не переменную.

Дата и время

Следующие переменные возвращают текущую дату и время в UTC.

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

Использование этих переменных приводит к кэшированию страниц на более ограниченное количество секунд. Это настраивается в MagicWordFactory.

Значения переменных даты и времени форматируются в зависимости от языковых настроек вики. Начиная с версии 1.19, они зависят от настройки языка конкретной страницы.

Переменная Результат Описание Версия
Год
{{CURRENTYEAR}} 2024 Год
Месяц
{{CURRENTMONTH}}

{{CURRENTMONTH2}}

03 Месяц (номер с дополнением нулями до двузначного числа)
{{CURRENTMONTH1}} 3 Месяц (обычный порядковый номер)
{{CURRENTMONTHNAME}} март Месяц (название)
{{CURRENTMONTHNAMEGEN}} марта Месяц (в родительном падеже)
{{CURRENTMONTHABBREV}} мар Месяц (аббревиатура)
1.5
День
{{CURRENTDAY}} 19 День месяца (без ведущего нуля)
{{CURRENTDAY2}} 19 День месяца (с ведущим нулём: 01..31)
1.6
{{CURRENTDOW}} 2 День недели (число). От 0 (воскресенье) до 6 (суббота).
{{CURRENTDAYNAME}} вторник День недели (название)
Время
{{CURRENTTIME}} 04:03 Время (24-часовой формат — HH:mm)
{{CURRENTHOUR}} 04 Час (01..24)
Разное
{{CURRENTWEEK}} 12 Неделя (число)
{{CURRENTTIMESTAMP}} 20240319040310 Отметка времени в формате YYYYMMDDHHmmss
1.7
Нет волшебного слова {{CURRENTDATE}}, но может существовать такой шаблон.

Следующие переменные возвращают значения, аналогичные вышеперечисленным, но используют настройки сервера или значение параметра $wgLocaltimezone .

  • {{LOCALYEAR}}
  • {{LOCALMONTH}}
  • {{LOCALMONTH1}}
  • {{LOCALMONTH2}}
  • {{LOCALMONTHNAME}}
  • {{LOCALMONTHNAMEGEN}}
  • {{LOCALMONTHABBREV}}
  • {{LOCALDAY}}
  • {{LOCALDAY2}}
  • {{LOCALDOW}}
  • {{LOCALDAYNAME}}
  • {{LOCALTIME}}
  • {{LOCALHOUR}}
  • {{LOCALWEEK}}
  • {{LOCALTIMESTAMP}}

Для более тщательного форматирования времени, или чтобы вывести неделю и год в соответствии c ISO-8601, вам может захотеться установить Расширение:Функции парсера , позволяющее использовать функцию парсера #time .

Технические метаданные

Функция Результат Описание Версия
Сайт
{{SITENAME}} MediaWiki Имя сайта ($wgSitename )
{{SERVER}} //www.mediawiki.org URL-адрес домена ($wgServer )
{{SERVERNAME}} www.mediawiki.org Поддомен или доменное имя (начиная с версии 1.17 больше не зависит от $wgServerName )
{{DIRMARK}}

{{DIRECTIONMARK}}


Выводит маркер направления Юникода, соответствующий направлению языка вики-проекта по умолчанию (‎ на сайтах с письменностью слева направо, ‏ — с письменностью справа налево); полезен в текстах с переменным направлением письма. Начиная с версии 1.19, зависит от языка конкретной страницы.
1.7
r14442
{{ARTICLEPATH}} /wiki/$1 Относительный путь к статье ($wgArticlePath ).
{{SCRIPTPATH}} /w Относительный путь к скрипту ($wgScriptPath ).
{{STYLEPATH}} /w/skins Относительный путь к стилю ($wgStylePath ).
1.16
{{CURRENTVERSION}} 1.42.0-wmf.22 (bd76262) Версия MediaWiki, на которой работает вики-проект.
1.7
r14199
{{CONTENTLANGUAGE}}

{{CONTENTLANG}}

en

en

Язык интерфейса по умолчанию ($wgLanguageCode ).
1.7
r14661
Страница
{{PAGEID}} 13403 Возвращает идентификатор страницы (ID страницы).
1.20
Gerrit change 9858
{{PAGELANGUAGE}}
{{#language:{{PAGELANGUAGE}}}}
ru
русский
Возвращает язык текущей страницы. Код языка из этой переменной можно преобразовать в его название с помощью {{#language:...}}.
1.29
Gerrit change 330982
{{TRANSLATABLEPAGE}} Help:Magic words Возвращает заголовок страницы перевода (страница, с которой переводятся на другие языки), если страница является переводимой (включая переведенные страницы), и ничего, если страница непереводима.
1.41.0-wmf.8
Gerrit change 913677

<translate><!--T:1--> Translated unit. Language: <tvar name=lang>{{TRANSLATIONLANGUAGE}}</tvar>.</translate>

<translate><!--T:2--> Untranslated unit. Language: <tvar name=lang>{{TRANSLATIONLANGUAGE}}</tvar>.</translate>

Translated unit. Language: ru.

Not translated unit. Language: en.

Должен использоваться на переведенной странице внутри тегов ‎<translate>. Возвращает код языка для текущего фрагмента перевода. На странице перевода, если фрагмент был переведён, возвращается язык перевода. В противном случае возвращает исходный язык. Код языка, который возвращает эта переменная, можно преобразовать в имя языка с помощью {{#language:...}}. Должно использоваться только администраторами перевода.
1.36.0-wmf.8
Gerrit change 603472
{{PROTECTIONLEVEL:действие}} Возвращает уровень защиты ('autoconfirmed', 'sysop') для заданного переменной действия ('edit', 'move') на текущей странице или пустую строку, если защита не установлена.
1.15
r45587
{{PROTECTIONEXPIRY:действие}} Выводит время окончания защиты (например "20160418155030", "infinity") для данного действия (напр. "edit", "move") на текущей странице. Возвращает "infinity", если защиты нет.
1.27
Gerrit change 255717
{{CASCADINGSOURCES}} [Затратная функция] Возвращает источники любой действующей на данную страницу каскадной защиты. Собственное название страницы не возвращают, если только не включают сами себя.
1.23
Gerrit change 104999
Просмотренная редакция текущей страницы (последняя редакция или выбранная старая редакция)
{{REVISIONID}} - Уникальный идентификатор правки В предварительном просмотре он пуст, поэтому сообщение об ошибке можно показать только в предварительном просмотре. Может быть отключено в режиме скряги (все вики WMF) вместо этого возвращается -, если не в предварительном просмотре.
1.5
{{REVISIONDAY}} 17 День совершения правки (без ведущего нуля)
1.8
{{REVISIONDAY2}} 17 День совершения правки (с ведущим нулём)
1.8
{{REVISIONMONTH}} 03 Месяц совершения правки (с ведущим нулём начиная с версии 1.17+, предыдущие без нуля).
1.8
{{REVISIONMONTH1}} 3 Месяц совершения правки (без ведущего нуля)
1.17
r66200
{{REVISIONYEAR}} 2024 Год совершения правки
1.8
{{REVISIONTIMESTAMP}} 20240317193259 Временная метка совершения правки.
1.8
{{REVISIONUSER}} FuzzyBot Имя пользователя, внесшего рассматриваемое редактирование, или пользователя, просматривающего редактирование.
1.15
r48149
{{REVISIONSIZE}} 109304 Размер (в байтах викитекста) просматриваемой версии страницы или превью
1.22
Gerrit change 82650
Воздействуют на содержимое страницы
{{DISPLAYTITLE:заголовок}}
{{DISPLAYTITLE:заголовок|noerror}}
{{DISPLAYTITLE:заголовок|noreplace}}
Позволяет изменять верхний заголовок текущей страницы. Значение должно быть эквивалентно заголовку по умолчанию, можно только изменять произвольно заглавные буквы некоторых частей заголовка (не всех) и заменять пробелы подчёркиваниями (это поведение можно изменить с помощью $manual-wg-restrict-disp-title). Это поведение можно включать и отключать путём изменения значения переменной $manual-wg-allow-disp-title; она была отключена до версии 1.10+ и включена во всех последующих версиях. Если для параметра $wgRestrictDisplayTitle не установлено значение false, значение должно быть эквивалентно заголовку по умолчанию: разрешены только изменения заглавных букв в определенных частях заголовка (не во всех) и замена пробелов символами подчеркивания. Это может быть отключено или включено при помощи $wgAllowDisplayTitle .

Может принимать второй параметр со значениями noerror или noreplace, чтобы подавлять сообщение об ошибке, когда на странице используется несколько displaytitle или чтобы displaytitle ничего не делал, если displaytitle уже указан ранее на этой странице.

1.7
1.24
Gerrit change 144870

(для noerror и noreplace)

{{DEFAULTSORT:ключ}}
{{DEFAULTSORTKEY:ключ}}
{{DEFAULTCATEGORYSORT:ключ}}
{{DEFAULTSORT:ключ|noerror}}
{{DEFAULTSORT:ключ|noreplace}}
Устанавливает ключ сортировки страницы во всех её категориях по умолчанию. Например, если вставить {{DEFAULTSORT:Smith, John}} в конце страницы John Smith, то по умолчанию страница будет сортироватся в категориях по букве "S". Может принимать второй параметр со значениями noerror или noreplace, чтобы подавлять сообщение об ошибке, когда на странице используется несколько ключей сортировки или чтобы defaultsort ничего не делал, если defaultsort уже указан ранее.
1.10
1.19
r96767

((для noerror и noreplace))

Статистика

Числа, возвращаемые этими переменными, содержат разделители разрядов (запятая, точка или пробел, в зависимости от языка локализации). Для получения неотформатированных чисел используется флаг «:R» (например, {{NUMBEROFPAGES}} → 1 633 688 и {{NUMBEROFPAGES:R}} → 1633688).

Используйте "|R" для волшебных слов, для которых требуется параметр типа PAGESINCATEGORY (например, {{PAGESINCATEGORY:Help}} и {{PAGESINCATEGORY:Help|R}} или {{PAGESINCATEGORY:Help|subcats}} и {{PAGESINCATEGORY:Help|subcats|R}}). Также применимо к {{PAGESIZE:название страницы}}, указанному выше.

Числовые значения переменных форматируются в зависимости от языковых настроек вики. Начиная с версии 1.19, они зависят от настройки языка конкретной страницы.

Переменная Результат Описание Версия
{{NUMBEROFPAGES}} 1 633 688 Количество вики-страниц.
1.7
{{NUMBEROFARTICLES}} 63 050 Количество страниц в основном пространстве , соответствующих критериям статьи. Смотрите Manual:$wgArticleCountMethod для более подробной информации.
{{NUMBEROFFILES}} 2797 Количество загруженных файлов.
1.5
{{NUMBEROFEDITS}} 6 310 411 Общее количество правок.
1.10
r21319
{{NUMBEROFVIEWS}} Общее количество просмотров страниц. Обычно бесполезно для вики, использующих кеширование. Убрано в Gerrit change 150699.
1.14 – 1.24
r42721
{{NUMBEROFUSERS}} 17 908 472 Количество зарегистрированных пользователей.
1.7
{{NUMBEROFADMINS}} 133 Количество пользователей в группе sysop.
1.7
{{NUMBEROFACTIVEUSERS}} 928 Количество активных пользователей, на основании критериев, используемых в Special:Statistics.
1.15
r47392
{{PAGESINCATEGORY:названиекатегории}}
{{PAGESINCAT:названиекатегории}}
129
129
[Затратная функция] Число страниц (включая все подкатегории и файлы) в заданной категории. Категория:Помощь используется для демонстрации.
1.13
r32932
{{PAGESINCATEGORY:категория|all}}
{{PAGESINCATEGORY:категория|pages}}
{{PAGESINCATEGORY:категория|subcats}}
{{PAGESINCATEGORY:категория|files}}
129
126
3
0
[Затратная функция] Соответственно, количество
  • всех страниц
  • обычных страниц (исключая подкатегории и файлы)
  • подкатегорий или
  • файлов

в заданной категории. Категория:Помощь используется для демонстрации.

1.20
Gerrit change 12790
{{NUMBERINGROUP:название группы}}
{{NUMINGROUP:название группы}}
21
21
Число пользователей определённой группы . (bureaucrat используется для демонстрации)
1.14
r40116
{{PAGESINNS:номер}}
{{PAGESINNAMESPACE:номер}}
отключено [Затратная функция] Количество страниц в заданном пространстве имён (замените номер на ID нужного пространства имён). Например, {{PAGESINNAMESPACE:14}} выведет количество страниц категорий. {{PAGESINNS:0}} отличается от {{NUMBEROFARTICLES}} тем, что первый включает страницы перенаправления и устранения неоднозначности. По умолчанию отключено, включается с помощью $wgAllowSlowParserFunctions .
1.7

Названия страниц

Переменная Для текущей страницы Описание Версия
{{FULLPAGENAME}} Help:Magic words/ru Пространство имён и название страницы (включая все уровни подстраниц).
1.6
{{PAGENAME}} Magic words/ru Полное название страницы (включая все уровни подстраниц) без пространства имён.
{{BASEPAGENAME}} Magic words Название страницы без предыдущей подстраницы и без указания пространства имён. Возвращает Title/Foo со страницы Help:Title/Foo/Bar
1.7
{{ROOTPAGENAME}} Magic words Имя страницы, корневой к данной. Возвращает Title со страницы Help:Title/Foo/Bar
1.22
{{SUBPAGENAME}} ru Название подстраницы. Возвращает Bar со страницы Help:Title/Foo/Bar

Если подстраницы не существует, возвращается значение {{PAGENAME}}.

Для более сложного разделения, используйте функцию {{#titleparts:}} из расширения функций парсера.

1.6
{{SUBJECTPAGENAME}}
{{ARTICLEPAGENAME}}
Help:Magic words/ru
Help:Magic words/ru
Полное название страницы для ассоциированных с ней субъектов (например, статья или файл). Используется на страницах обсуждения.
1.7
{{TALKPAGENAME}} Help talk:Magic words/ru Полное название страницы ассоциированной страницы обсуждения.
1.7

Ни на одно из них не влияют изменения отображаемого заголовка с помощью {{DISPLAYTITLE:xxxx}}; возвращаемые значения являются исходным заголовком страницы.

«Волшебные слова» {{BASEPAGENAME}} и {{SUBPAGENAME}} работают только для пространств имён, в которых включены подстраницы. См. $manual-wg-ns-with-subpages, чтобы узнать о включении подстраниц.

Начиная с версии 1.15+, все эти переменные могут принимать параметр, позволяющий указать название страницы, а не только текущую страницу:

  • {{PAGENAME:Template:Main Page}} → Main Page
Внимание Внимание: Если заголовок содержит любые части, равные "." или "..", волшебное слово ничего не возвращает.
{{PAGENAME:one/./three}}Ничего не возвращается.
Внимание Внимание: Заголовки страниц, содержащие некоторые символы, среди которых одинарная кавычка ' и звёздочка *, могут при обработке данными конструкциями выдавать неожиданные результаты, как, например, {{PAGESINCATEGORY:{{PAGENAME}}}}. Смотрите сообщения об ошибках T16779, T18474, T37628, T37746. Одним из простых путей исправления этого может быть помещение имени страницы внутрь {{#titleparts:}} из расширения ParserFunctions.

URL-кодирование названий страниц

Также есть эквиваленты для использования в URL-адресах страниц MediaWiki (со знаками подчёркивания вместо пробелов и с URL-кодированием некоторых символов или заменой на числовые коды HTML):

  • {{FULLPAGENAMEE}}
  • {{PAGENAMEE}}
  • {{BASEPAGENAMEE}}
  • {{SUBPAGENAMEE}}
  • {{SUBJECTPAGENAMEE}}
  • {{ARTICLEPAGENAMEE}}
  • {{TALKPAGENAMEE}}
  • {{ROOTPAGENAMEE}}

Заметьте, что {{PAGENAME:...}}, {{PAGENAMEE:...}} и {{urlencode:...}} реализованы по-разному. Подробнее смотрите в Manual:PAGENAMEE encoding .

Пространство имён

Переменная Результат Описание Версии
{{NAMESPACE}} Help Пространство имён (название) (кроме основного пространства имён)
{{NAMESPACENUMBER}} 12 ID пространства имён страницы
1.20
Gerrit change 4056
{{SUBJECTSPACE}}
{{ARTICLESPACE}}
Help
Help
Пространство имён для текущей страницы
1.7
{{TALKSPACE}} Help talk Пространство имён для текущей страницы обсуждения
1.7

Эквиваленты с URL-кодированием (со знаками подчёркивания вместо пробелов и с URL-кодированием некоторых символов):

  • {{NAMESPACEE}}
  • {{SUBJECTSPACEE}}
  • {{ARTICLESPACEE}}
  • {{TALKSPACEE}}

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

  • {{NAMESPACENUMBER:MediaWiki}}0
  • {{NAMESPACE:MediaWiki}} (Страницы в основном пространстве будут возвращены пустыми)
  • {{NAMESPACE:Template:Main Page}}Template
  • {{SUBJECTSPACE:Template:Main Page}}Template
  • {{ARTICLESPACE:Template:Main Page}}Template
  • {{TALKSPACE:Template:Main Page}}Template talk

Параметр не должен совпадать с названием пространства имён:

  • {{SUBJECTSPACE:Help talk}}  (Empty)


Разное

Переменная Результат Описание Версии
{{!}} | в качестве аргумента шаблона или содержания ячейки таблицы. Ранее для этих же целей использовался Template:!, заменяемый на |.

Для подробного объяснения смотрите Help:Extension:ParserFunctions/ru#Экранирование_символа_|_в_таблицах.

1.24
Gerrit change 136234
{{=}} = Используется для включения знака равенства как части аргумента шаблона или содержимого ячейки таблицы. До того, как это было реализовано в качестве волшебного слова, многие вики использовали Template:= с исходным текстом =.

См. Справка:Расширение:Функции Парсера#Необработанные знаки равенства для дальнейшего объяснения.

1.39
Gerrit change 791685

Функции парсера

Функции парсера очень похожи на переменные, но принимают один или более аргументов (на самом деле любые магические слова, принимающие аргументы, являются функциями парсера). Имена функций парсера начинают с символа «#» (хеш), чтобы не путать их с шаблонами.

Далее перечислены функции парсера, предоставляемые движком MediaWiki. Функции парсера, добавляемые расширениями (такими, как расширение Расширение:Функции парсера ), приведены на отдельной странице: Справка:Расширение:Функции парсера .

Технические метаданные о другой странице

Функция парсера Результат
(для страницы MediaWiki)
Описание Версии
{{PAGEID: название страницы }} 1 [Затратная функция] Возвращает идентификатор указанной страницы*.
1.23
Gerrit change 76534
{{PAGESIZE:название страницы}}
{{PAGESIZE: название страницы |R}}
101 005
101005
[Затратная функция] Возвращает размер указанной страницы в байтах. Для получения «сырого» числа (никак не отформатированного) используйте кодовый параметр «|R».
1.13
r33551
{{PROTECTIONLEVEL:действие | название страницы}} sysop [Затратная функция] Выводит уровень защиты (например, "autoconfirmed", "sysop"), установленный для заданного действия (например, "edit", "move") на указанной странице. Возвращает пустую строку, если защита отсутствует.
1.21
r44683
{{PROTECTIONEXPIRY: действие | название страницы}} infinity [Затратная функция] Выводит время окончания защиты (напр. "20160418155030", "infinity") для данного действия (напр. "edit", "move") на указанной странице. Возвращает "infinity", если защиты нет.
1.27
Gerrit change 255717
{{CASCADINGSOURCES: page name}} [Затратная функция] Возвращает источники любой действующей на указанную страницу каскадной защиты. Собственное название страницы не возвращают, если только не включают сами себя.
1.23
Gerrit change 104999
{{REVISIONID: название страницы }} 6287429 [Затратная функция] Возвращает уникальный идентификатор последней версии указанной страницы*.
1.23
Gerrit change 76534
{{REVISIONDAY: название страницы }} 29 [Затратная функция] День последней правки указанной страницы* (число от 1 до 31).
1.23
Gerrit change 76534
{{REVISIONDAY2: название страницы }} 29 [Затратная функция] День последней правки указанной страницы* (число от 01 до 31).
1.23
Gerrit change 76534
{{REVISIONMONTH: название страницы }} 12 [Затратная функция] Месяц последней проверенной правки указанной страницы* (с ведущим нулём начиная с версии 1.17+, предыдущие без нуля).
1.23
Gerrit change 76534
{{REVISIONMONTH1: название страницы }} 12 [Затратная функция] Месяц последней правки указанной страницы* (число от 1 до 12).
1.23
Gerrit change 76534
{{REVISIONYEAR: название страницы }} 2023 [Затратная функция] Год последней правки указанной страницы*.
1.23
Gerrit change 76534
{{REVISIONTIMESTAMP: название страницы }} 20231229181425 [Затратная функция] Время последней правки указанной страницы*.
1.23
Gerrit change 76534
{{REVISIONUSER: название страницы }} Tropicalkitty [Затратная функция] Имя пользователя, совершившего последнюю правку указанной страницы*.
1.23
Gerrit change 76534
*Поведение функции парсера меняется, если значение аргумента ссылается на текущую страницу.
  • При предварительном просмотре:
    • если страница существовала ранее, функция вернёт информацию о предпоследней правке;
    • если страница новая, функция вернёт пустую строку.
  • При обычном просмотре функция будет получать информацию о текущей правке и может считаться незатратной.


Получение фрагментов URL

Функция парсера Конструкция → Результат Описание Версии
{{localurl:название страницы}}
{{localurl:название страницы
|строка_запроса}}
{{localurl:MediaWiki}}
→ /wiki/MediaWiki
{{localurl:MediaWiki|printable=yes}}
→ /w/index.php?title=MediaWiki&printable=yes
Относительный путь к странице.
{{fullurl:название страницы}}
{{fullurl:название страницы
|строка_запроса}}

{{fullurl:интервики:имя удаленной(сторонней) страницы
|строка_запроса}}
{{fullurl:Category:Top level}}
→ //www.mediawiki.org/wiki/Category:Top_level

{{fullurl:Category:Top level|action=edit}}
→ //www.mediawiki.org/w/index.php?title=Category:Top_level&action=edit
{{fullurl:s:Electra|action=edit}}
https://en.wikisource.org/wiki/Electra?action=edit
{{fullurl:s:es:Electra|action=edit}}
https://en.wikisource.org/wiki/es:Electra?action=edit

Полная ссылка на страницу, зависимая от используемого протокола, который зависит от $wgServer на локальной вики (и поэтому может или не может начинаться с http(s)://). Здесь также допустимы интервики-префиксы. Замечание: не ограниченные квадратными скобками (простые) ссылки, зависимые от протокола, не станут активными автоматически.
1.5
{{canonicalurl:название страницы}}
{{canonicalurl:название страницы
|строка_запроса}}

{{canonicalurl:интервики:имя удаленной(сторонней) страницы
|строка_запроса}}
{{canonicalurl:Category:Top level}}
https://www.mediawiki.org/wiki/Category:Top_level

{{canonicalurl:Category:Top level|action=edit}}
https://www.mediawiki.org/w/index.php?title=Category:Top_level&action=edit {{canonicalurl:w:Category:Top level|action=edit}}
https://en.wikipedia.org/wiki/Category:Top_level?action=edit

Абсолютный путь к заглавию, использующий канонический URL. Также разрешает префиксы интервики.
1.18
{{filepath:имя файла}}
{{filepath:имя файла|nowiki}}
{{filepath:имя файла|размер_эскиза}}
{{filepath:Wiki.png}}
→ //upload.wikimedia.org/wikipedia/mediawiki/b/bc/Wiki.png

{{filepath:Wiki.png|nowiki}}
→ //upload.wikimedia.org/wikipedia/mediawiki/b/bc/Wiki.png
{{filepath:Example.svg|300}}
→ //upload.wikimedia.org/wikipedia/commons/thumb/8/84/Example.svg/300px-Example.svg.png

Параметр nowiki обычно удаляет ссылку вокруг пути к файлу (что не видно в этом примере).

Полный путь к файл или миниатюре (1.18+) файла.
1.12
r25854

1.18
r80813
{{urlencode:строка}} или
{{urlencode:строка|QUERY}}
{{urlencode:строка|WIKI}}
{{urlencode:строка|PATH}}
{{urlencode:x:y/z á é}} или
{{urlencode:x:y/z á é|QUERY}}
→ x%3Ay%2Fz+%C3%A1+%C3%A9
{{urlencode:x:y/z á é|WIKI}}
→ x:y/z_%C3%A1_%C3%A9
{{urlencode:x:y/z á é|PATH}}
→ x%3Ay%2Fz%20%C3%A1%20%C3%A9

Обратите внимание, что с версии 1.17 значение по умолчанию изменилось с |WIKI на |QUERY; это может повлиять на шаблоны, использующие эту функцию.

Замена символов, запрещённых к использованию в URL, на %-последовательности (например, пробел будет заменён на %20). Обратите внимание, что выполняющая обратное действие функция urldecode (аналогичная существующей в расширении Extension:StringFunctions ) пока не реализована.
Кодировка
кодпробел
 none + 
QUERY + 
 WIKI _ 
 PATH%20
1.7
r14273
(or
1.17
r64726

1.17
r64726

1.17
r64726
)
{{anchorencode:строка}} {{anchorencode:x y z á é}}
→ x_y_z_á_é
Преобразовать аргумент в вид, пригодный к использованию в URL после символа '#' (якоря)
1.6
r16279

Ниже приведены эквиваленты, закодированные для использования в URL-адресах MediaWiki (некоторые символы закодированы со знаком процента):

  • {{localurle:название страницы}}
  • {{localurle:название страницы|строка_запроса}}
  • {{fullurle:название страницы}}
  • {{fullurle:название страницы|строка_запроса}}
  • {{fullurle:интервики:имя удаленной(сторонней) страницы|строка_запроса}}
  • {{canonicalurle:название страницы}}
  • {{canonicalurle:название страницы|строка_запроса}}
  • {{canonicalurle:интервики:имя удаленной(сторонней) страницы|строка_запроса}}

Пространства имён

Конструкция {{ns:}} заменяется на название пространства имён на текущем языке, оглавление, каноническое имя или псевдоним. Конструкции {{ns:}}6, {{ns:}}-file и {{ns:}}-img (старое имя для File namespace) заменяются на "File". На страницах французской википедии конструкция {{ns:}}-file-de будет считаться корректной, а конструкция {{ns:}}-file-incorrect (переведённое на немецкий язык слово "File") — нет. Поэтому {{ns:6}}, {{ns:File}} и {{ns:Image}} (старое название для пространства имён File) возвращают "File". В вики, где языком содержимого является французский {{ns:Fichier}} также допустимо, но {{ns:Datei}} (локализация «File» на немецком языке) — нет.

Основное пространство имен не имеет имени, т. е. {{ns:0}} возвращает пустую строку. Для явного обращения к основному пространству имен можно использовать {{int:Blanknamespace}}, в результате чего получится "(Основное)".

Действие {{nse:}} аналогично действию функции urlencode с одним отличием: пробелы заменяются на символы "_". Это используется во внешних ссылках.

Пространства имён для статей Пространства имён для страниц обсуждений
Использование Результат Использование Возвращаемое значение
{{ns:-2}} / {{ns:Media}} Media {{ns:-1}} / {{ns:Special}} Special
(no talk page)
{{ns:0}} / {{ns:}} {{ns:1}} / {{ns:Talk}} Talk
{{ns:2}} / {{ns:User}} User {{ns:3}} / {{ns:User talk}} User talk
{{ns:4}} / {{ns:Project}} Project
Varies between wikis
{{ns:5}} / {{ns:Project talk}} Project talk
{{ns:6}} / {{ns:File}} or {{ns:Image}} File {{ns:7}} / {{ns:File talk}} or {{ns:Image talk}} File talk
{{ns:8}} / {{ns:MediaWiki}} MediaWiki {{ns:9}} / {{ns:MediaWiki talk}} MediaWiki talk
{{ns:10}} / {{ns:Template}} Template {{ns:11}} / {{ns:Template talk}} Template talk
{{ns:12}} / {{ns:Help}} Help {{ns:13}} / {{ns:Help talk}} Help talk
{{ns:14}} / {{ns:Category}} Category {{ns:15}} / {{ns:Category talk}} Category talk

Не путайте переведённые на ваш язык пространства имён с настраиваемыми пространствами имён.

Форматирование

Функция Ввод → Результат Описание Версия

{{formatnum:неотформатированное число}}
{{formatnum:число, отформатированное с помощью formatnum|R}}
{{formatnum:неотформатированное число|NOSEP}}

  • Пример:
    • {{formatnum:987654321.654321}}
      → 987 654 321,654321
    • {{formatnum:987 654 321,654321|R}}
      → 987654321.654321
  • Пример для опытных пользователей:
    • {{formatnum:{{formatnum:987654321.654321}}|R}}
      → 987654321.654321 (для любого языка)
    • {{formatnum:00001}}
      → 00 001
    • {{formatnum:987654321.654321 |NOSEP}}
      → 987654321.654321
    • Примеры перевода на бенгальский язык:
      • {{formatnum:987654321.654321}}
        → ৯৮,৭৬,৫৪,৩২১.৬৫৪৩২১
      • {{formatnum:987654321.654321 |NOSEP}}
        → ৯৮৭৬৫৪৩২১.৬৫৪৩২১
      • {{formatnum:৯৮,৭৬,৫৪,৩২১.৬৫৪৩২১ |R}}
        → 987654321.654321

Неподдерживаемое:
{{formatnum:{{formatnum:987.654.321}}}}
→ 987 654 321 (например, на итальянском языке)


В следующих примерах указаны неправильные аргументы с или без использования |R:
{{formatnum:987,654.321|R}} (наименее повреждённая)
{{formatnum:987.654,321|R}}
{{formatnum:987 654,321|R}}
{{formatnum:987&nbsp;654,321|R}}

Берёт неформатированное число (арабские цифры без разделителей групп разрядов и с . десятичного разделителя) и выводит его в локализованном наборе цифр, отформатированным с десятичным разделителем и разделителями групп в соответствии с языком страницы.

Для обратного действия можно использовать параметр |R, для использования в математических ситуациях: он надёжен и должен использоваться только для расформатирования чисел, которые заведомо отформатированы в точности так, как их форматирует formatnum по текущей вики.
Параметр NOSEP ("no separators") означает, что никакие групповые и десятичные разделители не изменяются; formatnum преобразует только сами цифры для языков, которые не используют индо-арабскую систему цифр. NOSEP также может предотвратить нестандартную группировку цифр, которую вы не ожидаете.

Внимание Внимание: Ведущие нули не удаляются, взамен можно использовать {{#expr:00001}}, если установлено Расширение:Функции парсера .

Внимание Внимание: Если вы не подаёте на вход числа в точности в требуемом формате, не ждите надёжного выхода, особенно для неанглийских вики.


Если вам действительно нужно отформатировать (в соответствии с языковым стандартом википроекта) число в неизвестном формате ввода, вы могли бы попробовать использовать formatnum два раза (но не в том случае, если у него может быть десятичная часть, или его разделитель будет съеден, или число не будет отформатировано). Имейте в виду, что это скорее "хак", чем обычный способ действий, поэтому выходные данные могут быть ненадежными.

1.7

1.13
r32012

{{#dateformat:date}}
{{#formatdate:date}}
{{#dateformat:date|format}}
{{#formatdate:date|format}}

{{#dateformat:25 dec 2009|ymd}}
→ 25 dec 2009 (ваша настройка), 2009 Dec 25 (по умолчанию)
{{#formatdate:dec 25,2009|dmy}}
→ dec 25,2009 (ваша настройка), 25 Dec 2009 (по умолчанию)
{{#dateformat:2009-12-25|mdy}}
декабрь 25, 2009 (ваша настройка), December 25, 2009 (по умолчанию)
{{#formatdate:2009 dec 25|ISO 8601}}
→ 2009 dec 25 (ваша настройка), 2009-12-25 (по умолчанию)
{{#dateformat:25 decEmber|mdy}}
→ 25 decEmber (ваша настройка), DecEmber 25 (по умолчанию)
Замечание: В приведённом выше примере «Ваш префикс» относится только к префиксу даты текущей MediaWiki.

Форматирует несвязанную дату на основе пользовательского предпочтения «формат даты» и добавляет метаданные, помечая ее как отформатированную дату. Для пользователей, вышедших из системы, а также тех, кто не установил формат даты в своих предпочтениях, датам может быть присвоено значение по умолчанию: mdy, dmy, ymd, ISO 8601 (с учётом регистра). Если формат не указан или является недопустимым, используется формат по умолчанию. Если предоставленная дата не распознается как действительная дата (в частности, если она содержит какие-либо метаданные, например, от вложенного использования этих или аналогичных шаблонов), она отображается без изменений и никакие (дополнительные) метаданные не создаются. Для пользователей, вышедших из системы, и тех, кто не установил формат даты в своих настройках, датам может быть присвоено значение по умолчанию: mdy, dmy, ymd, ISO 8601 (с учетом регистра). Если указаны только месяц и день, действительны только mdy и dmy. Если формат не указан или является недопустимым, используется формат ввода по умолчанию. Если указанная дата не распознается как действительная (в частности, если она содержит какие-либо метаданные, например, из вложенного использования этих или аналогичных шаблонов), она отображается без изменений, и никакие (дополнительные) метаданные не генерируются.
Внимание Внимание: Хотя стандарт ISO 8601 требует дат по григорианскому календарю, параметр ISO в этой функции также отформатирует даты, выпадающие из стандартного григорианского диапазона (например, даты до 1583 г.). Также это волшебное слово не может правильно преобразовывать отрицательные годы (используемые по ISO 8601) и годы BC или BCE (используемые в обычной переписке).
1.15
r48249

{{lc:string}}

{{lc:DATA CENTER}} → data center Строка в нижнем регистре.
1.5

{{lcfirst:string}}

{{lcfirst:DATA center}} → dATA center Строка с первым символом в нижнем регистре.
1.5

{{uc:string}}

{{uc:text transform}} → TEXT TRANSFORM Строка в верхнем регистре.
1.5

{{ucfirst:string}}

{{ucfirst:text tRAnSFORM}} → Text tRAnSFORM Строка с первым символом в верхнем регистре.
1.5

{{padleft:xyz|stringlength}}
{{padleft:xyz|strlen|char}}
{{padleft:xyz|strlen|string}}

{{padleft:xyz|5}} → 00xyz

{{padleft:xyz|5|_}} → __xyz
{{padleft:xyz|5|abc}} → abxyz
{{padleft:xyz|2}} → xyz
{{padleft:|1|xyz}} → x (первый символ строки)

Вставляет строку символов заполнения (символ, выбранный в третьем параметре; по умолчанию "0") заданной длины (второй параметр) рядом с выбранным базовым символом или переменной (первый параметр). Последние цифры или символы в базе заменяют последние символы в заполнении; т. е. {{padleft:44|3|0}} производит 044. Строка выравнивания может быть обрезана, если её длина не делится нацело на требуемое количество символов.

В версиях до 1.12 использовался только первый символ третьего параметра, но начиная с версии 1.15 используются все символы.

Ошибка (исправлено в r45734): — мультибайтовые символы интерпретируются как два символа, что может исказить ширину. Они также не могут использоваться в качестве отступов.

1.8

1.15
r45734

{{padright:xyz|stringlength}}
{{padright:xyz|strlen|char}}
{{padright:xyz|strlen|string}}

{{padright:xyz|5}} → xyz00

{{padright:xyz|5|_}} → xyz__
{{padright:xyz|5|abc}} → xyzab
{{padright:xyz|2}} → xyz
{{padright:|1|xyz}} → x

Аналогично padleft, но добавляет отступ с правой стороны.
1.8

1.15
r45734

{{bidi:string}}

{{bidi:text transform}} → ‪text transform‬

{{bidi:كتابة عربية}} → ‫كتابة عربية‬

Оборачивает текст соответствующим сценарию маркером направленности (либо слева направо (U+202A), либо справа налево (U+202B)) и символом форматирования направленности (U+202C), чтобы обеспечить безопасность направленности при использовании сочетания сценариев в выполняемом тексте.

Смотрите также: Extension:StringFunctions

Локализация

Здесь приведены волшебные слова, используемые как основные инструменты локализации. Прочие волшебные слова часто зависят от местной вики и настроек или от выбранного языка: см. в частности #Дата и время, #Форматирование, #Прочее. Расширение:Перевод добавило больше волшебных слов.

Использование этих волшебных слов может быть очень сложным, а документация неполной; больше сведений на PLURAL, GRAMMAR, GENDER.

Использование Конструкция → Результат Описание Версия
{{PLURAL:2|is|are}} {{PLURAL:0|is|are}} → are
{{PLURAL:1*1|is|are}} → is
{{PLURAL:21 mod 10|is|are}} → is
{{PLURAL:{{#expr:21 mod 10}}|is|are}} → is
{{PLURAL:1|is|are}} → is
{{PLURAL:2|is|are}} → are
{{PLURAL:-1|is|are}} → is
{{PLURAL:-2|is|are}} → are
{{PLURAL:0.5|is|are}} → are
{{PLURAL:1.5|is|are}} → are
{{PLURAL:-0.5|is|are}} → are
{{PLURAL:-1.5|is|are}} → are
Для Русского языка
{{PLURAL:5|1=Категория|Категории}} → Категории


{{PLURAL:3|страница|страницы|страниц}} → страницы
{{PLURAL:5|страница|страницы|страниц}} → страниц

Выводит форму множественного числа (второй параметр) в зависимости от числа в первом параметре; в противном случае множественное число (третий параметр). Его функционирование зависит от языка.
Некоторые коды языков (ab, av, ba, bxr, ce, crh_cyrl, cv, inh, koi, krc, kv, lbe, lez, mhr, mrj, myv, ru, sl, tt_cyrl, tyv, udm, xal) используют 3 формы множественного числа (обновление 01.2014):
  • Форма 1: 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
  • Форма 2: 0, 5, 6, 7, 8, …, 18, 19, 100, 1000, 10000, 100000, 1000000, …
  • Форма 3: 2, 3, 4, 22, 23, 24, 32, 33, 34, 42, 43, 44, 52, 53, 54, 62, 102, 1002, …
{{GRAMMAR:N|noun}} Выводит заданное слово в правильной грамматической форме (склонении, падеже), согласно коду, указанному после двоеточия (зависит от языка). Грамматическая трансформация используется в таких языках как польский. Смотрите также $manual-wg-grammarform.
1.7
{{GENDER:username|text for every gender}}

{{GENDER:Username|male text|female text|text for unspecified}}
{{GENDER:|male text|female text|text for unspecified}}
{{GENDER:.|male text|female text|text for unspecified}}

(Зависит от указанного пола пользователя) Переключатель настройки пола в Special:Preferences.

Замечание: первый пример ничего не делает.
Замечание: если третий параметр не указан и пользователь явно не задал(а) в настройках свой пол, выводится текст, если пользователь мужчина.
Пустое значение первого параметра ({{GENDER:|) означает текущего пользователя, но может быть использовано только в сообщениях интерфейса (пространство имен MediaWiki).
Точка (.) вместо имени учётной записи означает тот пол, который выбран в этой вики в качестве значения по умолчанию.

1.15
r46247
{{int:название сообщения}} {{int:edit}}Edit
(Зависит от языка пользователя; попробуйте: frja)
Переводит данное интерфейсное (interface) сообщение (пространство имён MediaWiki) на язык пользователя. По поводу msgnw и других волшебных слов — смотрите раздел о модификаторах шаблонов.

Обратите внимание, это может повредить/перепутать ссылки кэша в MediaWiki 1.17 и более ранних версиях, смотрите T16404

{{int:editsectionhint|MediaWiki}} {{int:editsectionhint|MediaWiki}}Edit section: MediaWiki Вы также можете использовать параметры с переводом.
Параметры обозначены $1, $2, $3 и т.д.
Например, вот сообщение для editsectionhint: Edit section: $1
В этом примере MediaWiki заменяет $1.


Модификаторы включения

{{Имя страницы|необязательные параметры}} обычно включает другую страницу, по умолчанию из пространства имен Template:namespace. Эти волшебные слова меняют это поведение.

Прочее

См. также