Jump to content

Help:魔术字

本頁使用了標題或全文手工轉換
From mediawiki.org
This page is a translated version of the page Help:Magic words and the translation is 97% complete.
PD 注意:當您編輯本頁面時,即同意以CC0協議授權您的貢獻。您可以在公有領域帮助页面找到更多信息。 PD

魔术字是MediaWiki软件所识别的特定字符串,它们可以返回特定的值或触发其他的功能:比如时间、站点设置或是页面名称等等。此页面只解释标准魔术字的用法;开发人员请参考Manual:魔术字

魔术字有三种常规类型:

变量和解析器函数可以像模板一样使用替代引用(subst: )。 Page-dependent magic words will affect or return data about the current page (by default), even if the word is added through a transcluded template or included system message.

状态开关

状态开关可以控制页面的显示方式或其他行为(若是它有受到皮肤的支持),它往往用于排除或加入特定的页面内容。尤其是某些是不受Minerva皮肤支持的页面内容。

文字 描述 版本
目录
__NOTOC__ 隐藏目录(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__
在语言有不同变体时(如中文有简体和繁体),不对当前页面进行字词转换。比如只显示中文,而不是显示大陆简体、台湾繁体、新加坡简体、或香港繁体等等变体。
__NOTITLECONVERT__
__NOTC__
在语言有不同变体时(如中文有简体和繁体),不对当前页面进行标题转换(其他内容照常转换)。
其他
__START__ 无影响。 曾用于指向不应被嵌入的注释之后开始的数据库消息。 已在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
__EXPECTUNUSEDTEMPLATE__ 用於模板頁面,使其不列於Special:UnusedTemplates

如果此開關不打算與模板內容一同嵌入,則應包裹在‎<noinclude>...‎</noinclude>內(或包裹在模板文件頁的‎<includeonly>...‎</includeonly>內),類似於模板分類。 See Help:模板 .

如果此開關的目的是要從報告中移除所有嵌入特定模板的頁面(例如,某個嵌入在testcases或sandbox子頁面上的通知),請在模板頁面中將開關放入‎<includeonly>...‎</includeonly>標籤內。

1.43
Gerrit change 1064007
来自扩展
扩展 文字 描述 版本
GlobalUserPage __NOGLOBAL__ 禁用全域用户页。 如果在中心用户页放置,这将阻止其在远程wiki上显示,并决定在远程wiki页面上链至相关用户页的链接应为红链还是蓝链。
1.28
Disambiguator __DISAMBIG__ 标记消歧义页面。
1.21
Wikibase (client) __EXPECTED_UNCONNECTED_PAGE__ 部份wiki页面不应该有维基数据项目,比如讨论页存档、模板子页面等。要防止某一wiki页面被列入Special:UnconnectedPages,请在页面的任何地方使用该魔术字。不符合维基数据关注度准则的页面不应该有维基数据项目。
1.37.0
DiscussionTools __ARCHIVEDTALK__ 从存档页面上的讨论中隐藏“回复”链接。
1.39
Gerrit change 738221
__NOTALK__ 使某個讨论命名空间中的页面不被视为讨论页面。
1.39
Gerrit change 903247
ProofreadPage __EXPECTWITHOUTSCANS__ 某些维基文库的内容页面是由列表所组成(例如某個作品的版本列表或翻译列表),因此页面不存在扫描的內容。为了防止这些页面在Special:PagesWithoutScans中被列出,请在页面中插入这个魔术字。
1.43.0-wmf.4
Gerrit change 1026897
Wikibase (client) {{NOEXTERNALLANGLINKS}} 一個魔法字和一個解析器函數,在它們被調用時會停用特定頁面的Wikibase扩展,或將它們與參數一起使用,可以抑制由扩展所產生的特定語言間連結 。 啟用時,只有wikitext內的語言間連結會被使用。

变量

变量 會返回关于当前页面、wiki站点、或日期的信息。变量的语法与模板类似。被标记为“[expensive]”的变量会被软件记录,且在一个页面中可使用的总数会被限制。 See Expensive parser functions.

如果某一模板名与变量名重复,软件会自动将其解释为变量(因此若你要嵌入Template:PAGENAME這個模板,你就需要去写 {{Template:PAGENAME}})。 在某些情况下,添加参数会迫使解析器调用模板;例如,写{{CURRENTDAYNAME|x}}会导致嵌入Template:CURRENTDAYNAME,而不是变量。

日期和时间

以下的变量返回当前的日期和UTC时间。

在MediaWiki与浏览器缓存的影响下,这些变量显示的往往是被缓存的值,而非当前的时间。

使用这些变量会使页面被缓存的时间变得更短,这可以通过 MagicWordFactory 设置。

日期和时间魔术字被格式化为相应的语种。自1.19版本开始,它们取决于页面内容语言

变量 输出 描述 版本
{{CURRENTYEAR}} 2025
{{CURRENTMONTH}}

{{CURRENTMONTH2}}

07 月(补足前导的0)
{{CURRENTMONTH1}} 7 月(无前导的0)
{{CURRENTMONTHNAME}} 7月 月份名称
{{CURRENTMONTHNAMEGEN}} 7月 月份(属格
{{CURRENTMONTHABBREV}} 7月 月份(缩写)
1.5
{{CURRENTDAY}} 17 今天是几日(不补齐0)
{{CURRENTDAY2}} 17 今天是几日(以0补齐)
1.6
{{CURRENTDOW}} 4 周内一日(无填充),0(即星期日)到6(即星期六)
{{CURRENTDAYNAME}} 星期四 周内一日(名称)
时间
{{CURRENTTIME}} 18:58 时间(24小时制HH:mm的格式)
{{CURRENTHOUR}} 18 小时(24小时制有前置0的数字)
其他
{{CURRENTWEEK}} 29 第几周(数字)
{{CURRENTTIMESTAMP}} 20250717185849 YYYYMMDDHHmmss时间戳
1.7
{{CURRENTDATE}}不是魔术字,但它可能是個模板

以下变量与上述变量作用相同,但是使用的是网站服务器配置时间或$wgLocaltimezone

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

如果需要更详尽的时间格式,或是在輸出目前年份和星期時更好的遵守ISO-8601,您可以在安装Extension:ParserFunctions(解析器函数) 后使用#time 解释器函数。

技术元数据

变量 输出 描述 版本
站点
{{SITENAME}} MediaWiki 维基网站的名称($wgSitename )。
{{SERVER}} //www.mediawiki.org 域名URL$wgServer )。
{{SERVERNAME}} www.mediawiki.org 子域名和域名(自版本1.17后不再取决于$wgServerName )。
{{DIRMARK}}

{{DIRECTIONMARK}}


输出这个wiki默认语言所使用的Unicode文本方向控制字符(从左到右书写的语言使用&lrm;,反之使用&rlm;),这在多方向文本中很有用。它取决于页面语言
1.7
r14442
{{ARTICLEPATH}} /wiki/$1 相关文章路径($wgArticlePath )。
{{SCRIPTPATH}} /w 脚本相对路径($wgScriptPath )。
{{STYLEPATH}} /w/skins 样式相对路径($wgStylePath )。
1.16
{{CURRENTVERSION}} 1.45.0-wmf.10 (06dce30) 此维基站点的MediaWiki版本。
1.7
r14199
{{CONTENTLANGUAGE}}

{{CONTENTLANG}}

en

en

默认界面语言($wgLanguageCode )。
1.7
r14661
页面
{{PAGEID}} 191162 返回页面标识符(页面ID)
1.20
Gerrit change 9858
{{PAGELANGUAGE}}
{{#language:{{PAGELANGUAGE}}}}
zh
中文
返回当前页面的语言。此变量返回的语言代码可使用{{#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>

已翻译单元。语言:zh。

Not translated unit. Language: en.

必须用于存在翻译的页面,在‎<translate>标签内部。 返回当前翻译单元的语言代码。 在翻译页面中,若此单元已被翻译,则返回此翻译的语言。 否则,返回源语言。 此变量返回的语言代码可使用{{#language:...}}转换为语言名。 只应由翻译管理员使用。
1.36.0-wmf.8
Gerrit change 603472
{{PROTECTIONLEVEL:操作}} 输出当前页面对于特定行为(例如edit, move)的保护级别(例如autoconfirmed, sysop)。 若未保护则返回空字符串。
1.15
r45587
{{PROTECTIONEXPIRY:操作}} 根据给出的动作(如edit、move),返回当前页面的保护信息(例如:时间戳“20160418155030”,或“infinity”) 如果未被保护,则会返回"infinity"。
1.27
Gerrit change 255717
{{CASCADINGSOURCES}} [Expensive] 返回当前页面上的任意连锁保护操作来源。除非存在自我嵌入,否则页面将不会返回其各自标题。
1.23
Gerrit change 104999
查看当前页面的历史版本号(最近一次编辑版本或是选定的旧版本)
{{REVISIONID}}
This variable is unavailable on this wiki.
唯一修订ID。
在預覽中恆為空白,因此能用來顯示僅限於預覽時的錯誤訊息。 可能在守財奴模式(所有的WMF維基)中被停用,若不是在預覽中改為回傳-
警告 警告: This variable cannot be substituted.
1.5
{{REVISIONDAY}} 17 最近一次编辑的日期(无前导0)。
1.8
{{REVISIONDAY2}} 17 最近一次编辑的日期(前导0)
1.8
{{REVISIONMONTH}} 07 最近一次编辑的月份(1.17+有前导0,较早版本没有前导0)。
1.8
{{REVISIONMONTH1}} 7 最近一次编辑的月份(没有前导0)。
1.17
r66200
{{REVISIONYEAR}} 2025 最近一次编辑的年份
1.8
{{REVISIONTIMESTAMP}} 20250717114637 最近一次编辑的时间戳。
1.8
{{REVISIONUSER}} FuzzyBot 编辑相关内容的用户或预览编辑内容的用户的用户名。
1.15
r48149
{{REVISIONSIZE}} 89331 当前查看的页面版本或预览的大小(维基文本)。
1.22
Gerrit change 82650
影响页面内容
{{DISPLAYTITLE:标题}}
{{DISPLAYTITLE:标题|noerror}}
{{DISPLAYTITLE:标题|noreplace}}
设置当前页面的显示标题 格式,这是页面标题通常显示的内容。 除非$wgRestrictDisplayTitle 设置为false,否则该值必须等同于默认标题:仅允许对标题的某些部分(而不是全部)进行大写更改,并允许用下划线替换空格。 这可以通过$wgAllowDisplayTitle 启用或禁用。

可以使用第二个参数noerror或是noreplace,用来在当有多个标题在一个页面使用时,阻止产生错误消息,或是在页面中的前面已经指定了了一个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)


本地化的變數

變數 輸出 描述 版本
{{USERLANGUAGE}} zh 使用者語言。 (僅在$wgParserEnableUserLanguage 是啟用的情況下;預設為停用)。
注意 注意: 目前Parsoid頁面檢視不支援。 如果使用Parsoid頁面檢視、或者$wgParserEnableUserLanguage如同預設是關閉的,則魔法字元將返回與{{PAGELANGUAGE}}相同的結果。
1.43
Gerrit change 508295

统计

这些变量返回的数字往往包含分隔符(根据本地语言参数设置而可能是逗号或空格)。可以通过“:R”来返回无分隔号的数字(例如{{NUMBEROFPAGES}} → 1,883,334和{{NUMBEROFPAGES:R}} → 1883334)。

对于PAGESINCATEGORY等需要参数的变量则使用“|R”(例如{{PAGESINCATEGORY:Help}}{{PAGESINCATEGORY:Help|R}}{{PAGESINCATEGORY:Help|subcats}}{{PAGESINCATEGORY:Help|subcats|R}})。 也适用于上述{{PAGESIZE:页面名称}}

返回数字的魔术字数字格式取决于内容语言的设定。自1.19开始,它取决于页面内容语言

变量 输出 描述 版本
{{NUMBEROFPAGES}} 1,883,334 wiki页面数量
1.7
{{NUMBEROFARTICLES}} 65,666 内容命名空间 中,作为条目的页面个数。 参见手册:$wgArticleCountMethod 获得详情。
{{NUMBEROFFILES}} 2,756 上传文件的个数。
1.5
{{NUMBEROFEDITS}} 7,636,604 维基编辑的数量
1.10
r21319
{{NUMBEROFVIEWS}} 页面浏览次数。通常对使用缓存的wiki无效。 在Gerrit change 150699被删除。
1.14 – 1.24
r42721
{{NUMBEROFUSERS}} 18,137,312 注册用户数量
1.7
{{NUMBEROFADMINS}} 128 管理员(sysop) 的用户数。
1.7
{{NUMBEROFACTIVEUSERS}} 1,320 活跃用户总数,基于Special:Statistics中使用的标准。
1.15
r47392
{{PAGESINCATEGORY:分类名称}}
{{PAGESINCAT:分类名称}}
161
161
[Expensive] 指定分类中的页面总数(包括子类和文件)。Category:帮助 在此用于演示)
1.13
r32932
{{PAGESINCATEGORY:分类名称|all}}
{{PAGESINCATEGORY:分类名称|pages}}
{{PAGESINCATEGORY:分类名称|subcats}}
{{PAGESINCATEGORY:分类名称|files}}
161
158
3
0
[Expensive] 返回指定分类的:
  • 所有页面数
  • 所有非分类页和非文件页数
  • 所有子分类页数
  • 所有文件页数

Category:帮助 在此用于演示)

1.20
Gerrit change 12790
{{NUMBERINGROUP:用户组}}
{{NUMINGROUP:用户组}}
22
22
特定用户群组 中的用户总数 (bureaucrat用于演示)
1.14
r40116
{{PAGESINNS:索引编号}}
{{PAGESINNAMESPACE:索引编号}}
未启用 [Expensive] 指定命名空间中的页面总数。(将“索引编号”替换成相关命名空间编号)。 例如{{PAGESINNAMESPACE:14}}返回分类页面总数。{{PAGESINNS:0}}{{NUMBEROFARTICLES}}不同之处在于包括重定向页面和消除歧义页面。 默认禁用,可以通过$wgAllowSlowParserFunctions 设置启用。
1.7

页面名称

变量 对于当前页面 描述 版本
{{FULLPAGENAME}} Help:Magic words/zh 命名空间与完整页面标题(包括子页面级别)。
1.6
{{PAGENAME}} Magic words/zh 不包含命名空间的完整页面标题(包括子页面级别)。
{{BASEPAGENAME}} Magic words 页面标题,不包括当前子页面标题及命名空间。 在Help:Title/Foo/Bar頁面返回Title/Foo
1.7
{{ROOTPAGENAME}} Magic words 获得当前页面的根页名。 在Help:Title/Foo/Bar頁面返回Title
1.22
{{SUBPAGENAME}} zh 子頁面標題。 在Help:Title/Foo/Bar頁面返回Bar

如果子頁面不存在將會回傳{{PAGENAME}}的值。

如果需要使用更多匹配的话,请使用解析器函数擴充功能{{#titleparts:}}

1.6
{{SUBJECTPAGENAME}}
{{ARTICLEPAGENAME}}
Help:Magic words/zh
Help:Magic words/zh
获得该页面的完整页面名。对讨论页十分有用。
1.7
{{TALKPAGENAME}} Help talk:Magic words/zh 关联讨论页的完整页面名称
1.7

这些变量不受 {{DISPLAYTITLE:xxxx}} 影响,它们都会按原来的页面标题计算返回值。

{{BASEPAGENAME}}{{SUBPAGENAME}}这两个魔术字只在启用了子页面模式的命名空间才生效。关于启用子页面模式请看$wgNamespacesWithSubpages

(在版本1.15+引入) 以上魔术字可以接受一个参数,用于指定特定页面,来代替要处理的当前页面设定:

  • {{PAGENAME:Template:Main Page}} → Main Page
警告 警告: The magic word is not compatible with relative page titles (i.e. links to subpages or base pages using the /foo or ../bar formats).
{{PAGENAME:/foo}} → /foo - Refers to the literal page /foo
{{PAGENAME:../bar}} → - 不会返回任何东西。
警告 警告: 页面标题如果包括特定字符,例如:单引号'、星号*, 会导致以上魔术字会有不正常的处理结果,如:{{PAGESINCATEGORY:{{PAGENAME}}}}。参见:T16779, T18474, T37628, T37746。一种简单的修复方法是使用解析器函数扩展{{#titleparts:}}来处理标题。

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

以下是在MediaWiki URL中的的等价编码(空格替换为下划线,一些字符替换为百分号编码):

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

1.15+开始,这些可以是完整页面名参数,并将返回与那个页面相关的请求命名空间,而不是在当前页面中:

  • {{NAMESPACENUMBER:MediaWiki}}0
  • {{NAMESPACE:MediaWiki}} (主空间中的页面将返回空白)
  • {{NAMESPACE:Template:Main Page}}Template
  • {{SUBJECTSPACE:Template talk:Main Page}}Template
  • {{ARTICLESPACE:Template talk:Main Page}}Template
  • {{TALKSPACE:Template:Main Page}}Template talk

参数必须不是一个命名空间名称:

  • {{SUBJECTSPACE:Help talk}} → ' (空)


跳脫字元

在某些情況下,MediaWiki 會將某些字元解釋為標記分隔符,尤其是:

  • 模板引用
  • 表格
  • 函式呼叫

為了防止立即演繹(使字元可以按字面意義顯示或稍後演繹為分隔符),可以使用{{character}}作為跳脫序列,但只支援下列字元(替換)。 這種形式可以比使用等效的<nowiki>character</nowiki> 更清楚或至少更簡短一些。

語法 输出 描述 版本
{{!}} |

用于插入豎線(管道符号)。

基於歷史和技術原因,此功能不被視為真正的跳脫序列。該語法不使用豎線,而是使用視覺上很像豎線的驚嘆號。詳情請參閱Help:Extension:ParserFunctions#Escaping pipe characters in tables

在這個功能被當成魔法字引入之前,許多wiki都是透過建立一個模板(Template:!),它只是單純地傳回|作為其內容來達到這個效果。

1.24
Gerrit change 136234
{{=}} =

用于插入等号。

有关更多说明,请参见幫助:扩展:解析器函數#原始等号

在被添加为魔术字之前,许多wiki通过创建Template:=(内容为=)来实现。

1.39
Gerrit change 791685


解析器函数

解析器函数 与变量相似,但需要一个或多个参数(技术上讲,任何需要参数的魔术字都是解析器函数),并且名称有时以井号(hash)开头,以与模板区分开来。

此页面只描述MediaWiki软件中重要的解析器函数。其他MediaWiki软件可能添加的解析器函数包括Extension:ParserFunctions(解析器函数) 等,请参见Help:扩展:解析器函数

另一页面的技术元数据

解析器函数 输出
(使用MediaWiki进行示范)
描述 版本
{{PAGEID: 页面名称 }} 1 [Expensive] 返回指定页面*的页面标识符。
1.23
Gerrit change 76534
{{PAGESIZE:页面名称}}
{{PAGESIZE: 页面名称 |R}}
113,542
113542
[Expensive] 返回特定页面的字节大小。使用“|R”获取原始(未处理)数值。
1.13
r33551
{{PROTECTIONLEVEL:操作 | 页面名称}} sysop [Expensive] 输出指定页面对于特定行为(例如edit, move)的保护级别(例如autoconfirmed, sysop)。 若未保护则返回空字符串。
1.21
r44683
{{PROTECTIONEXPIRY: 操作 | 页面名称}} infinity [Expensive] 根据给出的动作(如edit、move),返回当前页面的保护信息(例如:时间戳“20160418155030”,或“infinity(无限期)”) 如果未被保护,则会返回"infinity(无限期)"。
1.27
Gerrit change 255717
{{CASCADINGSOURCES: page name}} [Expensive] 返回在特定页面上任意连锁保护的来源。页面将不会返回其本身标题,除非页面有自我嵌入行为。
1.23
Gerrit change 104999
{{REVISIONID: 页面名称 }} 6287429 [Expensive] 当前页面的最新更改的ID。
1.23
Gerrit change 76534
{{REVISIONDAY: 页面名称 }} 29 [Expensive] 指定页面的最新更改的天* (未补全的数字)。
1.23
Gerrit change 76534
{{REVISIONDAY2: 页面名称 }} 29 [Expensive] 指定页面的最新更改的天* (以0补全的数字)。
1.23
Gerrit change 76534
{{REVISIONMONTH: 页面名称 }} 12 [Expensive] 指定页面的最新修改的月* (在1.17+中为以0补全的数字,在之前的版本里为未补全的数字)。
1.23
Gerrit change 76534
{{REVISIONMONTH1: 页面名称 }} 12 [Expensive] 指定页面的最新修改的月* (未补全的数字)。
1.23
Gerrit change 76534
{{REVISIONYEAR: 页面名称 }} 2023 [Expensive] 指定页面的最新修改的年*。
1.23
Gerrit change 76534
{{REVISIONTIMESTAMP: 页面名称 }} 20231229181425 [Expensive] 指定页面的最新修改的时间截*。
1.23
Gerrit change 76534
{{REVISIONUSER: 页面名称 }} Tropicalkitty [Expensive] 指定页面的最新修改的用户名*。
1.23
Gerrit change 76534
*当提供的参数等于当前解析器标题,在预览时以及在替换使用时解析器函数将产生上一版本的,如果是在创建新页面的预览,则会产生空字符串,但页面浏览时,会使用来自已查看版本的值,包括浏览旧版本时。这种情况下它并非expensive解析器函数。

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

至标题的协议相对路径,基於本地wiki的$wgServer 設定(且不一定會以http(s)://開頭)。这也将解决跨wiki前缀。注意:未加括号的(单一)协议相对链接不会自动链接。
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。这也将解决跨wiki前缀。
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/330px-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的已编码输入。 见Manual:PAGENAMEE_encoding#Encodings_compared 以了解差异。 请注意,没有像过时的Extension:StringFunctions 中那样的urldecode函数
字符編碼
代码空格
+
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部分锚点(在URL中的“#”符号之后)。
1.6
r16279

以下是在MediaWiki URL中的的等价编码(一些字符替换为百分号编码):

  • {{localurle:页面名称}}
  • {{localurle:页面名称|请求参数}}
  • {{fullurle:页面名称}}
  • {{fullurle:页面名称|请求参数}}
  • {{fullurle:跨维基前缀:另一维基上的页面名称|请求参数}}
  • {{canonicalurle:页面名称}}
  • {{canonicalurle:页面名称|请求参数}}
  • {{canonicalurle:跨维基前缀:另一维基上的页面名称|请求参数}}

命名空间

{{ns:}}使用该索引,规范名称或本地别名返回命名空间的当前本地化名称。 因此,{{ns:6}}{{ns:File}}{{ns:Image}}(文件命名空间的旧名称)都将返回“File”。 在内容语言为法语的wiki上,{{ns:Fichier}}也有效,但{{ns:Datei}}(德语中“文件”的本地化)无效。

主命名空间没有名称,即{{ns:0}}返回一个空字符串。 对于显式引用主命名空间,可以使用{{int:Blanknamespace}},从而得到“(主)”。

{{nse:}}是MediaWiki URL的等效编码。它也是这样,但它用下划线替换空格,使其可用于外部链接。

内容命名空间 讨论名字空间
用法 输出 用法 输出
{{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:unformatted number|LOSSLESS}}

  • 简单:
    • {{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
    • Examples with loss of precision:
      • {{formatnum:10000000000000001}}
        → 10,000,000,000,000,000
      • {{formatnum:10000000000000001|LOSSLESS}}
        → 10000000000000001

不被支持的:
{{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参数可以用于反转此行为,用于数学运算:这种方法可靠,但只应该用于反向转换与wiki的语言环境相同(原先formatnum会转换到的)的数字。
指定NOSEP(“无分隔符”)参数会使数位分组分隔符和小数点分隔符不被修改,此时 formatnum 只会在不使用印度-阿拉伯数字系统的语言中将数字字符进行转换。 NOSEP还可以阻止意料之外的非标准数字分组。
By default, the formatted number may be slightly imprecise. The LOSSLESS parameter can be added to instead use the unformatted (exact) number in this case, if exact display of the number is more important than formatting it nicely.

警告 警告: 开头的前导零不会被去除,如果你安装了 Extension:ParserFunctions(解析器函数) 则可以使用 {{#expr:00001}} 来去除。

警告 警告: 如果你没有准确地以需求的数字格式输入,则难以得到任何可靠的输出,尤其是在非英文的维基上。


如果你真的需要输入一个无法保证格式正确的数字(根据Wiki的语言环境)的话,你可以使用formatnum两次(但请不要在输入数字可能有数位分组格式的情况下使用这种变通方式,否则分隔符可能会消失或数字无法被格式化)。请注意这种方法是非常取巧的,因此它的输出结果可能不可靠。

1.7

1.13
r32012
1.45
Gerrit change 1145237

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

{{#dateformat:25 dec 2009|ymd}}
→ 25 dec 2009 (您的首选)2009年12月25日(默认)
{{#formatdate:dec 25,2009|dmy}}
→ dec 25,2009 (您的首选)25日12月2009年(默认)
{{#dateformat:2009-12-25|mdy}}
12月 25, 2009 (您的首选)12月25日,2009年(默认)
{{#formatdate:2009 dec 25|ISO 8601}}
→ 2009 dec 25 (您的首选)2009-12-25(默认)
{{#dateformat:25 decEmber|mdy}}
→ 25 decEmber (您的首选)12月25日(默认)
注意:在上述例子中,“您的首选”仅指当前Wiki(也就是 MediaWiki.org)上的日期首选项。

根据用户的"日期格式"参数设置格式化无链接日期,并添加元数据标记为格式化日期。 对于未登入的用户和未在参数设置中设置日期格式的用户,可将日期设为默认值:mdy, dmy, ymd, ISO 8601(区分大小写)。 如果只给出月份和日期,则只有mdydmy有效。 如果未指定格式或格式无效,则默认使用输入格式。 如果所提供的日期未被识别为有效日期(具体来说,如果它包含任何元数据,例如嵌套使用这些模板或类似模板时产生的元),则将保持不变,并且不会生成(额外的)元数据。
警告 警告: 即使ISO 8601格式要求参数1的日期是公历日期,若参数2指定ISO 8601,函数也能对那些超出通常公历范围的日期进行格式化(例如1583年之前的日期)。不过,函数无法正确转换ISO 8601格式下的负数年份和通常格式下的公元前的年份。
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 (字符串的首字母)

将参数1通过在左侧补上参数3指定的字符串(默认为0)补足到参数2指定的长度。 例如 {{padleft:44|3|0}} 生成 044。 参数3指定的字符串可能被截断以保证补足后的字符串长度满足要求。

在 1.12 版本以前,第三个参数只使用传入的字符串的第一个字符,但从 1.15 版本以后,第三个参数传入的字符串的所有字符都会被使用。

Bug (在 r45734 修复): 多字节字符(例如中文字符)被解释为两个字符(例如一个中文字符被当成两个字符考虑),它们可能会导致字符串的长度偏斜(比如0000本 本应输出 0000本 但却输出 00本)。多字节字符也不能用作填充字符。

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))和一个 pop 方向性格式字符(U+202C)包裹文本,以确保在运行文本中混合使用脚本时的方向性安全。

参见:Extension:StringFunctions

本地化的函数

这些是用于本地化工具的魔术字。其他的魔术字经常依赖wiki的本地化和位置,或者其他已选的语言,参见特定的#日期和时间#格式化。更多的魔术字由Extension:翻译 添加。

魔术字的用法会非常复杂,而且文档目前还不完整,PLURALGRAMMARGENDER上有更多信息。

用法 输入 → 输出 描述 版本
{{#language}}
{{#language:语言代码}}
{{#language:语言代码|目标语言代码}}
{{#language:ar}} → العربية
{{#language:ar|en}} → Arabic
以参数2的语言代码指定的语言(没有则以参数1的)输出参数1的语言代码对应的语言全名:默认为本地化名称(语言别名),当指定了目标语言代码时会输出目标语言翻译版本。 如果您需要指定目标语言则必须预先安装 Extension:CLDR 。 若未指定參數,則返回「目標語言」的名稱(對於條目,為內容語言;對於訊息,為使用者語言)。
1.7
r14490

1.18
r91875
(翻译)
1.43
Gerrit change 1038880
(不帶參數)
{{#bcp47}}
{{#bcp47:language code}}
{{#bcp47:sr-ec}} → sr-Cyrl
{{#bcp47:zh-yue}} → yue
指定語言代碼 IETF BCP-47語言標籤。 若未指定參數,則返回「目標語言」的標籤(對於條目,為內容語言;對於訊息,為使用者語言)。
1.43
Gerrit change 1038879
{{#dir}}
{{#dir:language code}}
{{#dir:language code|bcp47}}
{{#dir:en}} → ltr
{{#dir:he}} → rtl
{{#dir:sr-Cyrl|bcp47}} → ltr
指定語言代碼 的書寫方向,必為rtlltr之一。 如果選擇性的參數2填入bcp47,則將第一個參數轉換為BCP-47語言標籤。 若未指定參數,則返回「目標語言」的書寫方向(對於條目,為內容語言;對於訊息,為使用者語言)。
1.43
Gerrit change 1032542
{{PLURAL:2|is|are}} {{PLURAL:0|is|are}} → are
{{PLURAL:1*1|is|are}} → is
{{PLURAL:21 mod 10|is|are}} → are
{{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|страница|страницы|страниц}} → страниц

輸出適合指定語言的複數形式。對於英語,如果第一個參數的絕對值是等於1的表達式,則使用單數形式(第二個參數);否則使用複數形式(第三個參數)。 更完整說明文件,請參見translatewiki.net
一些语言(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种复数形式(2014年1月最后更新
  • 形式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}} 根据分号后的词形变化代码输出给定的词的正确的词形变化。语法变形被用于波兰语这样的屈折语。参见$wgGrammarForms translatewiki.net的文法說明文件
1.7

{{GENDER:username|gender-neutral text applicable to all genders}}
{{GENDER:Username|text if user is male|text if user is female|text for unspecified gender}}
{{GENDER:|text if user is male|text if user is female|text for unspecified gender}}
{{GENDER:.|text if user is male|text if user is female|text for unspecified gender}}

(取决于指定用户的性别) 根据指定的用户的Special:Preferences返回该性别对应的文本。
  • 注意:第一个例子基本上啥也没干
  • 注意:如果参数3未给出,且用户未设置TA的性别时将返回text if user is male
  • 空的用户名({{GENDER:|)指代当前用户,但这种方式只能在MediaWiki命名空间下的页面使用。
  • 用户名为点(.)时使用站点默认设置。
1.15
r46247
{{int:消息名称}} {{int:edit}}Edit
(取决于用户语言,可以试试:frja
该解析器函数将会把(MediaWiki命名空间下的)界面消息翻译成用户语言。msgnw和其他嵌套引用魔术字参见嵌入修改器一节。注意在1.17版本以前,这么做会导致缓存一致性被破坏,参见T16404

请注意,这可能会破坏/混淆MediaWiki 1.17及更早版本中的缓存一致性,参见T16404

{{int:editsectionhint|MediaWiki}} {{int:editsectionhint|MediaWiki}}Edit section: MediaWiki 你可以在翻译过程中使用参数。
界面消息里的参数使用 $1、$2、$3 来引用
例如,editsectionhint界面消息的源码为:Edit section: $1
在左侧例子中,MediaWiki 替换了 $1。

嵌入修饰器

{{页面名|可选参数}} 默认从 Template: 命名空间嵌入页面。 这些魔术字会修改此行为。

杂项

參見