帮助:魔术字

来自心百科,心灵的百科全书

1.23+魔术字是MediaWiki软件所识别的特定字符串,它们可以返回特定的值或触发其他的功能:比如时间、站点设置或是页面名称等等。

魔术字有三种常规类型:

  • 状态开关:通常写成以两个下划线为前后缀的大写单词,例如__FOO__
  • 变量:字符被两个大括号括起来,所有字母大写,例如{{FOO}}。用法与模板类似。
  • 解析器函数:可以创造参数,既可以是格式{{foo:...}},也可以是{{#foo:...}},例如{{#invoke:}}。参见Help:解析器函数

变量和解析器函数可以像模板一样使用subst:。无论这个魔术字是通过被引用的模板添加的或者被包含的系统信息中添加的,依赖页面的魔术字均将(默认)起作用或者返回当前页面的数据。

状态开关

状态开关可以控制页面(只要受皮肤支持)的显示方式或其他行为。它往往用于排除或加入特定的页面内容。这些魔术字中,有一部分不受Minerva皮肤支持。

文字 描述 版本
目录
__NOTOC__ 隐藏目录(TOC)。
__FORCETOC__ 强制于默认位置(第一个章节标题上方,忽略__NOTOC__的设置)显示目录。
__TOC__ 在魔术字的位置插入目录(忽略__NOTOC__的设置)。如果这个魔术字在一个页面内被多次使用,目录将出现在第一个词的位置。
编辑
__NOEDITSECTION__ 隐藏章节标题旁的编辑链接。
__NEWSECTIONLINK__ 在非讨论页顶端“编辑页面”标签右侧加入一个按钮,用于在页面结尾加入新的章节。 1.7+
__NONEWSECTIONLINK__ 移除讨论页顶端“编辑页面”右侧的加入新章节链接。 1.15+
分类
__NOGALLERY__ 用于分类页面。不显示分类中所包含文件的缩略图,而以普通链接代替。 1.7+
__HIDDENCAT__ 用于分类页面。加入后此分类成为隐藏分类,将不会显示在上级分类其及成员页面的分类列表中(可以通过参数设置中的选项强制显示)。 1.13+
__EXPECTUNUSEDCATEGORY__ 在分类页面上使用,从Special:UnusedCategories中删除分类。 1.33+
语言转换
__NOCONTENTCONVERT__
__NOCC__
在语言有不同变体时(如中文简体和繁体),不对当前页面进行字词转换。比如只显示中文,而不是显示大陆简体、台湾繁体、新加坡简体和香港繁体。
__NOTITLECONVERT__
__NOTC__
在语言有不同变体时(如中文简体和繁体),不对当前页面进行标题转换(其他内容照常转换)。
其他
__START__ 没有特殊效果。用于标识提交后不需要转换的数据库信息。功能已经移除。 r1695时功能移除,r24784时完全移除
__INDEX__ 允许搜索引擎检索本页(忽略$wgArticleRobotPolicies的参数设置但并无法忽略robots.txt)。 1.14+
__NOINDEX__ 禁止搜索引擎检索本页(比如不可在搜索引擎列出指定页面)。 1.14+
__STATICREDIRECT__ 用于一些重定向页面。当有人移动页面并勾选“更新所有指向原标题的重定向”时,禁止MediaWiki更新本页的重定向。 1.13+
来自扩展
扩展 文字 描述 版本
GlobalUserPage __NOGLOBAL__ 禁用全域用户页。 如果在中心用户页放置,这将阻止其在远程wiki上显示,并决定在远程wiki页面上链至相关用户页的链接应为红链还是蓝链。 1.28+
Disambiguator __DISAMBIG__ 标记消歧义页面,该页会被标记为消歧义页并显示于Special:消歧义页面 1.21+
DiscussionTools __ARCHIVEDTALK__ 从存档页面上的讨论中隐藏“回复”链接。 1.39+
__NOTALK__ 使讨论命名空间中的页面不被视为讨论页面。 1.39+

变量

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

如果某一模板名与变量名重复,软件会自动将其解释为变量(因此若要包含模板:PAGENAME,页面中需要写作{{模板:PAGENAME}})。在某些情况下,加入参数会强制软件将变量视作一个模板,如{{CURRENTDAYNAME|x}}将会包含模板:CURRENTDAYNAME,而不是变量。

日期和时间

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

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

变量 输出 描述 版本
{{CURRENTYEAR}} 2024
{{CURRENTMONTH}} 05 月(补足前导的0)
{{CURRENTMONTH1}} 5 月(无前导的0)
{{CURRENTMONTHNAME}} 5月 月份名称
{{CURRENTMONTHNAMEGEN}} 5月 月份(属格
{{CURRENTMONTHABBREV}} 5月 月份(缩写) 1.5+
{{CURRENTDAY}} 3 今天是几日(不补齐)
{{CURRENTDAY2}} 03 今天是几日(以0补齐) 1.6+
{{CURRENTDOW}} 5 周内一日(无填充),0(即星期日)到6(即星期六)
{{CURRENTDAYNAME}} 星期五 周内一日(名称)
时间
{{CURRENTTIME}} 03:20 时间(24小时制HH:mm的格式)
{{CURRENTHOUR}} 03 时间(24小时制含前導0的数字)
其他
{{CURRENTWEEK}} 18 第几周(数字)
{{CURRENTTIMESTAMP}} 20240503032027 YYYYMMDDHHmmss时间戳 1.7+

如下变量和上列变量功能相同,但是使用的是站点所在时区的本地时间,而非用户所设置的时区或UTC:

变量 输出 描述 版本
{{LOCALYEAR}} 2024
{{LOCALMONTH}} 05 月(补足前导的0)
{{LOCALMONTH1}} 5 月(无前导的0)
{{LOCALMONTHNAME}} 5月 月份名称
{{LOCALMONTHNAMEGEN}} 5月 月份(属格
{{LOCALMONTHABBREV}} 5月 月份(缩写) 1.5+
{{LOCALDAY}} 3 今天是几日(不补齐)
{{LOCALDAY2}} 03 今天是几日(以0补齐) 1.6+
{{LOCALDOW}} 5 周内一日(无填充),0(即星期日)到6(即星期六)
{{LOCALDAYNAME}} 星期五 周内一日(名称)
时间
{{LOCALTIME}} 11:20 时间(24小时制HH:mm的格式)
{{LOCALHOUR}} 11 时间(24小时制含前導0的数字)
其他
{{LOCALWEEK}} 18 第几周(数字)
{{LOCALTIMESTAMP}} 20240503112027 YYYYMMDDHHmmss时间戳 1.7+

对于更详细的时间格式,请参见帮助:时间序号

技术元数据

变量 输出 描述 版本
站点
{{SITENAME}} 心百科 维基网站的名称($wgSitename
{{SERVER}} https://wiki.mindseed.cn 域名URL($wgServer
{{SERVERNAME}} wiki.mindseed.cn 域名名称($wgServerName
{{DIRMARK}}

{{DIRECTIONMARK}}


输出这个wiki默认语言所使用的Unicode文本方向控制字符(从左到右书写的语言使用‎,反之使用‏ 1.7+
{{SCRIPTPATH}} 脚本相对路径($wgScriptPath
{{STYLEPATH}}

/skins

样式相对路径($wgStylePath 1.16+
{{CURRENTVERSION}} 1.39.4 (c4075df) 此维基站点的MediaWiki版本 1.7+
{{CONTENTLANGUAGE}}

{{CONTENTLANG}}

zh-cn

zh-cn

默认界面语言($wgLanguageCode)。 1.7+
页面
{{PAGEID}} 512 返回页面编号 1.20+
{{PAGELANGUAGE}}

{{#language:{{PAGELANGUAGE}}}}

zh-cn

中文(中国大陆)

返回当前页面的语言。此变量返回的语言代码可使用{{#language:...}}转换为语言名。 1.29+
<translate><!--T:1--> Translated unit. Language: <tvar|lang>{{TRANSLATIONLANGUAGE}}</>.</translate>

<translate><!--T:2--> Not translated unit. Language: <tvar|lang>{{TRANSLATIONLANGUAGE}}</>.</translate>

已翻译单元。语言:zh。Not translated unit. Language: en. 必须用于存在翻译的页面,在‎<translate>标签内部。 返回当前翻译单元的语言代码。 在翻译页面中,若此单元已被翻译,则返回此翻译的语言。 否则,返回源语言。 此变量返回的语言代码可使用{{#language:...}}转换为语言名。 只应由翻译管理员使用。 1.36+
{{PROTECTIONLEVEL:操作}} 输出当前页面对于特定行为(比如edit,move)的保护级别(autoconfirm或sysop等)。若未保护则返回空字符串。 1.15+
{{PROTECTIONEXPIRY:动作}} 根据给出的动作(如edit、move),返回当前页面的保护信息(例如:时间戳“20160418155030”,或“infinity”) 如果未被保护,则会返回"infinity"。 1.27+
{{CASCADINGSOURCES}} [高开销] 返回当前页面上的任意连锁保护操作来源。除非存在自我嵌入,否则页面将不会返回其各自标题。 1.23+
最近一次编辑版本号
{{REVISIONID}} 26711 唯一的版本ID。 在預覽中為空,因此能用來顯示僅限於預覽時的錯誤訊息。 可能在吝嗇模式中被停用。 1.5+
{{REVISIONDAY}} 13 最近一次编辑的日期(无前导0)。 1.8+
{{REVISIONDAY2}} 13 最近一次编辑的日期(前导0) 1.8+
{{REVISIONMONTH}} 03 最近一次编辑的月份(1.17+有前导0,较早版本没有前导0)。 1.8+
{{REVISIONMONTH1}} 3 最近一次编辑的月份(没有前导0)。 1.17+
{{REVISIONYEAR}} 2024 最近一次编辑的年份 1.8+
{{REVISIONTIMESTAMP}} 20240313144812 最近一次编辑的时间戳。 1.8+
{{REVISIONUSER}} 忆兰居士 最近一个对指定页面作出编辑的用户,或者当前正在对其编辑进行预览的用户。 1.15+
{{REVISIONSIZE}} 59124 当前版本页面的大小(维基文本)。 1.22+
影响页面内容。
{{DISPLAYTITLE:标题}}
{{DISPLAYTITLE:标题|noerror}}
{{DISPLAYTITLE:标题|noreplace}}
设置当前页面标题的显示格式。变量值须与标题等值:只允许对标题的特定部分(不是全部标题)的大小写变化和用下划线替换替换空格(这个设定可以通过$wgRestrictDisplayTitle改变)。可以通过$wgAllowDisplayTitle将其启用或禁用;在1.10+前默认禁用,之后的版本中默认启用。

可以使用第二个参数:“noerror”关闭使用多个本魔术字时导致错误信息提示。或“noreplace”如果displaytitle在前文已经设置,则关闭使用多个本魔术字时导致错误信息提示令displaytitle失效。

1.7+

1.24+

(以无错误提示、不替换为目的)

{{DEFAULTSORT:排序关键字}}
{{DEFAULTSORTKEY:排序关键字}}
{{DEFAULTCATEGORYSORT:排序关键字}}
{{DEFAULTSORT:排序关键字|noerror}}
{{DEFAULTSORT:|noreplace}}
在分类页面上使用,用来设置默认在分类中排序关键字。 例如当您将{{DEFAULTSORT:Smith, John}}放到页面John Smith的结尾,该页面在分类页面上的列表中将默认排到“S”项下。 可以使用第二个参数:“noerror”关闭使用多个本魔术字时导致错误信息提示。或“noreplace”如果defaultsort在前文已经设置,则关闭使用多个本魔术字时导致错误信息提示,令defaultsort失效。 1.10+

1.19+

(以无错误提示、不替换为目的)

统计

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

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

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

变量 输出 描述 版本
{{NUMBEROFPAGES}} 7,073 维基页面数量 1.7+
{{NUMBEROFARTICLES}} 2,851 在内容命名空间中,作为条目的页面个数。
{{NUMBEROFFILES}} 2,435 上传文件的个数。 1.5+
{{NUMBEROFEDITS}} 26,565 维基编辑的数量 1.10+
{{NUMBEROFVIEWS}} 218,078 页面浏览次数。通常对使用缓存的wiki无效。 1.14 – 1.24
{{NUMBEROFUSERS}} 9 注册用户数量 1.7+
{{NUMBEROFADMINS}} 1 管理员(sysop)用户数。 1.7+
{{NUMBEROFACTIVEUSERS}} 1 活跃用户总数,其标准与Special:Statistics中的标准相同。 1.15+
{{PAGESINCATEGORY:categoryname}}
{{PAGESINCAT:categoryname}}
0
0
[高开销] 指定分类中的页面总数(包括子类和文件)。 1.13+
{{PAGESINCATEGORY:分类名称|all}}
{{PAGESINCATEGORY:分类名称|pages}}
{{PAGESINCATEGORY:分类名称|subcats}}
{{PAGESINCATEGORY:分类名称|files}}
0
0
0
0
[高开销] 返回指定分类的:
  • 所有页面数
  • 所有非分类页和非文件页数
  • 所有子分类页数
  • 所有文件页数
1.20+
{{NUMBERINGROUP:用户组}}
{{NUMINGROUP:用户组}}
1
1
特定用户群组zu中的用户总示) 1.14+
{{PAGESINNS:索引编号}}
{{PAGESINNAMESPACE:索引编号}}

未启用

[高开销] 指定命名空间中的页面总数。(将“索引编号”替换成相关命名空间编号)。 例如{{PAGESINNAMESPACE:14}}返回分类页面总数。{{PAGESINNS:0}}{{NUMBEROFARTICLES}}不同之处在于包括重定向页面和消除歧义页面。 默认禁用,可以通过$wgAllowSlowParserFunctions设置启用。 1.7+

页面名称

变量 对于当前页面 描述 版本

{{FULLPAGENAME}}

帮助:魔术字 命名空间与完整页面标题(包括子页面级别)。 1.6+

{{PAGENAME}}

魔术字 不包含命名空间的完整页面标题(包括子页面级别)。
{{BASEPAGENAME}} 魔术字

页面标题,不包括当前子页面标题及命名空间。 在Help:Title/Foo/Bar頁面返回Title/Foo

1.7+

{{ROOTPAGENAME}}

魔术字 获得当前页面的根页名。 在Help:Title/Foo/Bar頁面返回Title 1.22+

{{SUBPAGENAME}}

魔术字 子頁面標題。 在Help:Title/Foo/Bar頁面返回Bar

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

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

1.6+

{{SUBJECTPAGENAME}}
{{ARTICLEPAGENAME}}

帮助:魔术字
帮助:魔术字
获得该页面的完整页面名。对讨论页十分有用。 1.7+

{{TALKPAGENAME}}

帮助讨论:魔术字 关联讨论页的完整页面名称 1.7+

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

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

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

  • {{PAGENAME:Template:Main Page}}Main Page

URL 编码后的页面名称

以下是在MediaWiki URL中的等价编码(就是空格替换为下划线,以及使用数字字符编码的一些HTML溢出字符):

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

注意{{PAGENAME:...}}{{PAGENAMEE:...}}{{urlencode:...}}有不同的实现方式。参见手册:PAGENAMEE编码以获取详情。

命名空间

变量 输出 描述 版本
{{NAMESPACE}}

帮助

命名空间的名称
{{NAMESPACENUMBER}} 12 页面所在命名空间的ID 1.20+
{{SUBJECTSPACE}}
{{ARTICLESPACE}}
帮助
帮助
相关联的内容命名空间的名称 1.7+
{{TALKSPACE}}

帮助讨论

相关联的讨论命名空间的名称 1.7+

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

变量 输出 描述 版本
{{NAMESPACEE}}

%E5%B8%AE%E5%8A%A9

命名空间的名称
{{SUBJECTSPACEE}}
{{ARTICLESPACEE}}
%E5%B8%AE%E5%8A%A9
%E5%B8%AE%E5%8A%A9
相关联的内容命名空间的名称 1.7+
{{TALKSPACEE}}

%E5%B8%AE%E5%8A%A9%E8%AE%A8%E8%AE%BA

相关联的讨论命名空间的名称 1.7+

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

  • {{NAMESPACENUMBER:MediaWiki}}0
  • {{NAMESPACE:MediaWiki}} (Pages in main space will return empty)
  • {{NAMESPACE:Template:Main Page}}模板
  • {{SUBJECTSPACE:Template:Main Page}}模板
  • {{ARTICLESPACE:Template:Main Page}}模板
  • {{TALKSPACE:Template:Main Page}}模板讨论

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

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

其他

变量 输出 描述 版本
{{!}} style="text-align:center;"

用于在模板或者是表格内插入管道符号。在被添加为魔术字之前,许多wiki通过Template:!来实现创建包含|的内容。

1.24+
{{=}} = 用于在模板参数或表格的单元格内容中插入等于号。 在被添加为魔术字之前,许多wiki通过Template:=来实现创建=的内容。 1.39+

解析器函数

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

此页面只描述MediaWiki软件中重要的解析器函数。其他MediaWiki软件可能添加的解析器函数包括Extension:解析器函数等。

另一页面的技术元数据

解析器函数 输出
(使用MediaWiki进行示范)
描述 版本
{{PAGEID: 页面名称 }} 0 [高开销] 返回指定页面*的页面标识符。 1.23+
{{PAGESIZE:页面名称}}
{{PAGESIZE: 页面名称 |R}}
0
0
[高开销] 返回特定页面的字节大小。使用“|R”获取原始(未处理)数值。

1.13+

{{PROTECTIONLEVEL:操作 | 页面名称}} [高开销] 输出当前页面对于特定行为(比如edit,move)的保护级别(autoconfirm或sysop等)。若未保护则返回空字符串。 1.21+
{{PROTECTIONEXPIRY:

action | page name}}

[高开销] 根据给出的动作(如edit、move),返回当前页面的保护信息(例如:时间戳“20160418155030”,或“infinity(无限期)”) 如果未被保护,则会返回"infinity(无限期)"。 1.27+
{{CASCADINGSOURCES: page name}} [高开销] 返回在特定页面上任意连锁保护的来源。页面将不会返回其本身标题,除非页面有自我嵌入行为。 1.23+
{{REVISIONID: 页面名称 }} [高开销] 当前页面的最新更改的ID。 1.23+
{{REVISIONDAY: 页面名称 }} [高开销] 指定页面的最新更改的天* (未补全的数字)。 1.23+
{{REVISIONDAY2: 页面名称 }} [高开销] 指定页面的最新更改的天* (以0补全的数字)。 1.23+
{{REVISIONMONTH: 页面名称 }} [高开销] 指定页面的最新修改的月* (在1.17+中为以0补全的数字,在之前的版本里为未补全的数字)。 1.23+
{{REVISIONMONTH1: 页面名称 }} [高开销] 指定页面的最新修改的月* (未补全的数字)。 1.23+
{{REVISIONYEAR: 页面名称 }} [高开销] 指定页面的最新修改的年*。 1.23+
{{REVISIONTIMESTAMP: 页面名称 }} [高开销] 指定页面的最新修改的时间截*。 1.23+
{{REVISIONUSER: 页面名称 }} [高开销] 指定页面的最新修改的用户名*。 1.23+
*当提供的参数等于当前解析器标题,在预览时以及在替换使用时解析器函数将产生上一版本,在用于页面创建时,这包括空字符串,但使用来自当前版本页面浏览的值,包括浏览旧版本。这种情况下它并非高开销函数解析器。

URL数据

解析器函数 输入 → 输出 描述 版本
{{localurl:页面名称}}
{{localurl:页面名称
|请求参数}}
{{localurl:MediaWiki}}
→ /MediaWiki
{{localurl:MediaWiki|printable=yes}}
→ /index.php?title=MediaWiki&printable=yes
至标题的相对路径。
{{fullurl:页面名称}}
{{fullurl:页面名称
|请求参数}}

{{fullurl:跨维基前缀:另一维基上的页面名称
|请求参数}}
{{fullurl:Category:Top level}}
https://wiki.mindseed.cn/%E5%88%86%E7%B1%BB:Top_level

{{fullurl:Category:Top level|action=edit}}
https://wiki.mindseed.cn/index.php?title=%E5%88%86%E7%B1%BB:Top_level&action=edit
{{fullurl:s:Electra|action=edit}}
https://wiki.mindseed.cn/index.php?title=S:Electra&action=edit
{{fullurl:s:es:Electra|action=edit}}
https://wiki.mindseed.cn/index.php?title=S:es:Electra&action=edit

至标题的协议相对路径,基于本地wiki的$wgServer設定(且不一定会以http(s)://开头)。这也将解决跨wiki前缀。注意:未加括号的(单一)协议相对链接不会自动链接。 1.5+
{{canonicalurl:页面名称}}
{{canonicalurl:页面名称
|请求参数}}

{{canonicalurl:跨维基前缀:另一维基上的页面名称
|请求参数}}
{{canonicalurl:Category:Top level}}
https://wiki.mindseed.cn/%E5%88%86%E7%B1%BB:Top_level

{{canonicalurl:Category:Top level|action=edit}}
https://wiki.mindseed.cn/index.php?title=%E5%88%86%E7%B1%BB:Top_level&action=edit

至标题的绝对路径,使用规范URL。这也将解决跨wiki前缀。 1.18+
{{filepath:文件名称}}
{{filepath:文件名称|nowiki}}
{{filepath:文件名称|缩略图大小}}
{{filepath:Wiki.png}}

{{filepath:Wiki.png|nowiki}}

{{filepath:Example.svg|300}}


The parameter nowiki usually removes the link around the filepath (which can't be seen in this example).

媒体文件的完整大小或缩略图(1.18+)的协议相对路径。 1.12+

1.18+

{{urlencode:字符串}}
{{urlencode:字符串|QUERY}}
{{urlencode:字符串|WIKI}}
{{urlencode:字符串|PATH}}
{{urlencode:x:y/z á é}} or
{{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。请注意,没有像过时的Extension:StringFunctions中那样的urldecode函数.
字符編碼
代码空格
 none + 
QUERY + 
 WIKI _ 
 PATH%20
1.7+ (or 1.17+ )
{{anchorencode:字符串}} {{anchorencode:x y z á é}}
→ x_y_z_á_é
编码的输入用于URL部分锚点(在URL中的“#”符号之后)。 1.6+

命名空间

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

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

内容命名空间 讨论命名空间
用法 输出 用法 输出
{{ns:-2}} / {{ns:Media}} 媒体文件 {{ns:-1}} / {{ns:Special}} 特殊
(no talk page)
{{ns:0}} / {{ns:}} {{ns:1}} / {{ns:Talk}} 讨论
{{ns:2}} / {{ns:User}} 用户 {{ns:3}} / {{ns:User talk}} 用户讨论
{{ns:4}} / {{ns:Project}} 心百科
Varies between wikis
{{ns:5}} / {{ns:Project talk}} 心百科讨论
{{ns:6}} / {{ns:File}} or {{ns:Image}} 文件 {{ns:7}} / {{ns:File talk}} or {{ns:Image talk}} 文件讨论
{{ns:8}} / {{ns:MediaWiki}} MediaWiki {{ns:9}} / {{ns:MediaWiki talk}} MediaWiki讨论
{{ns:10}} / {{ns:Template}} 模板 {{ns:11}} / {{ns:Template talk}} 模板讨论
{{ns:12}} / {{ns:Help}} 帮助 {{ns:13}} / {{ns:Help talk}} 帮助讨论
{{ns:14}} / {{ns:Category}} 分类 {{ns:15}} / {{ns:Category talk}}

分类讨论

不要将本地化命名空间与自定义命名空间相混淆。

格式化

用法 输入 → 输出 描述 版本
{{formatnum:unformatted number}}

{{formatnum:formatnum-formatted number|R}}
{{formatnum:unformatted number|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
    • Bangla 语言的例子:
      • {{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}}

采用未格式化的数字(例如阿拉伯语数字,没有组分隔符和.作为小数分隔符)并将其输出到本地化的数字脚本中,并使用十进制和十进制组分隔符进行格式化, 到wiki的默认语言环境。
|R参数可用于反转行为,以便在数学情况下使用:它是可靠的,并且应该仅用于格式化已知格式完全为的数字formatnum使用wiki的语言环境对它们进行格式化。
指定 NOSEP(“无分隔符”)参数会使数位分组分隔符和小数点分隔符不被修改,此时 formatnum 只会在不使用印度-阿拉伯数字系统的语言中将数字字符进行转换。NOSEP 参数还会防止出现意外的非标准数字分组。


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

1.7+
1.13+

{{#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)上的日期首选项。

根据用户的“日期格式”设置格式化给定日期,并添加将其标记为格式化日期的元数据。对于未登录的游客和没有在设置中指定日期格式的用户,日期可以按以下默认格式给定:mdydmyymdISO 8601(大小写敏感)。如果只给定了月份和日期的话,只有 mdydmy 是合法格式。如果未给定日期格式或日期格式不合法,则输入格式将用作为默认格式。如果提供的日期未被识别为有效日期(特别是,如果它包含任何元数据,例如来自另一个 dateformat或类似模板的嵌套使用),则将其保持不变,并且不会生成额外的元数据。 1.15+
{{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+

{{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+

参见:Extension:StringFunctions

本地化

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

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

用法 输入 → 输出 描述 版本
{{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是单数还是复数,输出不同的字符串:单数输出参数2,复数输出参数3。它的表现是与界面语言相关的。
{{grammar:N|noun}} 根据分号后的词形变化代码输出给定的词的正确的词形变化(与语言相关)。语法变形被用于波兰语这样的屈折语。参见 $2。 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}}

(取决于指定用户的性别) 根据指定的用户的设置返回该性别对应的文本。

注意: 第一个例子基本上啥也没干
注意: 如果参数3未给出,且用户未设置TA的性别时将返回 text if user is male
空的用户名 ({{gender:|) 指代当前用户,但这种方式只能在MediaWiki命名空间下的页面使用。
用户名为点 (.) 时使用站点默认设置。

1.15+
{{int:信息名称}} {{int:edit}}编辑
(取决于用户语言,可以试试:frja
该解析器函数将会把(MediaWiki命名空间下的)界面信息翻译成用户语言。msgnw和其他嵌套引用魔术字参见嵌入修改器一节。注意在1.17版本以前,这么做会导致缓存一致性被破坏,参见T16404
{{int:editsectionhint|MediaWiki}} {{int:editsectionhint|MediaWiki}}编辑章节:MediaWiki 您可以在翻译过程中使用参数。
界面消息里的参数使用 $1、$2、$3 来引用
例如,editsectionhint界面消息的源码为:编辑章节:$1
在左侧例子中,MediaWiki 替换了 $1。

嵌入修改器

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

杂项