魔术字 是MediaWiki软件所识别的特定字符串,它们可以返回特定的值或触发其他的功能:比如时间、站点设置或是页面名称等等。此页面只解释标准魔术字的用法;开发人员请参考Manual:Magic words 。
魔术字有三种常规类型:
状态开关 :通常写成以两个下划线为前后缀的大写单词,例如__FOO__
。
变量 :字符被两个大括号括起来,所有字母大写,例如{{FOO}}
。用法与模板 类似。
变量和解析器函数可以像模板一样使用subst: 。无论这个魔术字是通过被引用的模板添加的或者被包含的系统信息中添加的,依赖页面的魔术字均将(默认)起作用或者返回当前页面的数据。
状态开关 [ 编辑 ]
状态开关可以控制页面(只要受皮肤支持)的显示方式或其他行为。它往往用于排除或加入特定的页面内容。这些魔术字中,有一部分不受Minerva皮肤 支持。
文字
描述
版本
目录
__NOTOC__
隐藏目录 (TOC)。
__FORCETOC__
强制于默认位置(第一个章节标题上方,忽略__NOTOC__
的设置)显示目录。
__TOC__
在魔术字的位置插入目录(忽略__NOTOC__
的设置)。如果这个魔术字在一个页面内被多次使用,目录将出现在第一个词的位置。
编辑
__NOEDITSECTION__
隐藏章节标题旁的编辑链接。这个特别有用,当章节标题在模板中被创建时,普通的编辑链接将会把用户带到编辑模板代码界面,这与用户的直觉不符。 在模板中使用它将扩充对模板嵌入页面的影响,以及任何包含在同一页面的其他模板。 有关工作区,请参见此处 。
__NEWSECTIONLINK__
在非讨论页顶端“脚本错误:函数“renderIntMessage”不存在。 ”标签右侧加入一个按钮,用于在页面结尾加入新的章节(参见在页面末尾加入新章节 )。
__NONEWSECTIONLINK__
移除讨论页顶端“脚本错误:函数“renderIntMessage”不存在。 ”右侧的加入新章节链接。
分类
__NOGALLERY__
用于分类页面。不显示分类中所包含文件的缩略图,而以普通链接代替。
__HIDDENCAT__
用于分类页面。加入后此分类成为隐藏分类,将不会显示在上级分类其及成员页面的分类列表中(可以通过参数设置 中的选项强制显示)。
__EXPECTUNUSEDCATEGORY__
在分类页面上使用,从Special:UnusedCategories 中删除分类。
语言转换
__NOCONTENTCONVERT__
__NOCC__
在语言有不同变体时(如中文简体和繁体),不对当前页面进行字词转换。比如只显示中文,而不是显示大陆简体、台湾繁体、新加坡简体和香港繁体。
__NOTITLECONVERT__
__NOTC__
在语言有不同变体时(如中文简体和繁体),不对当前页面进行标题转换(其他内容照常转换)。
其他
__START__
无影响。 曾用于指向不应被嵌入的注释之后开始的数据库消息。 已在r1695 被移除,并在r24784 被彻底移除
__END__
明确标记条目的结尾,来防止MediaWiki移除文末的空格。 在19213 中移除。
__INDEX__
允许搜索引擎检索本页(忽略$wgArticleRobotPolicies 的参数设置但并无法忽略robots.txt)。服从$wgExemptFromUserRobotsControl 的设定。
__NOINDEX__
禁止搜索引擎检索本页(比如不可在搜索引擎列出指定页面)。服从变量$wgExemptFromUserRobotsControl 的设定。
__STATICREDIRECT__
用于一些重定向页面。当有人移动页面并勾选“脚本错误:函数“renderIntMessage”不存在。 ”时,禁止MediaWiki更新本页的重定向(需要变量$wgFixDoubleRedirects )。
来自扩展
扩展
文字
描述
版本
GlobalUserPage
__NOGLOBAL__
禁用全域用户页。 如果在中心用户页放置,这将阻止其在远程wiki上显示,并决定在远程wiki页面上链至相关用户页的链接应为红链还是蓝链。
Disambiguator
__DISAMBIG__
标记消歧义页面。
变量可以返回关于当前页面、wiki站点或日期的信息。变量的语法与模板 类似。其中标记为“[高开销] ”的变量会被软件记录,且在一个页面中可使用的总数会被限制。
如果某一模板名与变量名重复,软件会自动将其解释为变量(因此若要包含Template:PAGENAME ,页面中需要写作{{Template:PAGENAME}}
)。在某些情况下,加入参数会强制软件将变量视作一个模板,如{{CURRENTDAYNAME|x}}
将会包含Template:CURRENTDAYNAME ,而不 是变量。
日期和时间 [ 编辑 ]
以下的变量返回当前的日期和UTC 时间。
在MediaWiki与浏览器缓存的影响下,这些变量显示的往往是被缓存的值,而非当前的时间。
使用这些变量会使页面被缓存的时间变得更短,这可以通过 MagicWordFactory 设置。
日期和时间魔术字被格式化为相应的语种。自1.19 版本开始,它们取决于页面内容语言 。
变量
输出
描述
版本
年
{{CURRENTYEAR}}
2024
年
月
{{CURRENTMONTH}}
04
月(补足前导的0)
{{CURRENTMONTH1}}
4
月(无前导的0)
{{CURRENTMONTHNAME}}
4月
月份名称
{{CURRENTMONTHNAMEGEN}}
4月
月份(属格 )
{{CURRENTMONTHABBREV}}
4月
月份(缩写)
日
{{CURRENTDAY}}
20
今天是几日(不补齐)
{{CURRENTDAY2}}
20
今天是几日(以0补齐)
{{CURRENTDOW}}
6
周内一日(无填充),0(即星期日)到6(即星期六)
{{CURRENTDAYNAME}}
星期六
周内一日(名称)
时间
{{CURRENTTIME}}
06:08
时间(24小时制HH:mm的格式)
{{CURRENTHOUR}}
06
时间(24小时制含前導0的数字)
其他
{{CURRENTWEEK}}
16
第几周(数字)
{{CURRENTTIMESTAMP}}
20240420060840
YYYYMMDDHHmmss时间戳
如下变量和上列变量功能相同,但是使用的是所在服务器的时间或者$wgLocaltimezone 。
{{LOCALYEAR}}
{{LOCALMONTH}}
{{LOCALMONTH1}}
{{LOCALMONTHNAME}}
{{LOCALMONTHNAMEGEN}}
{{LOCALMONTHABBREV}}
{{LOCALDAY}}
{{LOCALDAY2}}
{{LOCALDOW}}
{{LOCALDAYNAME}}
{{LOCALTIME}}
{{LOCALHOUR}}
{{LOCALWEEK}}
{{LOCALTIMESTAMP}}
如果需要更详尽的时间格式,或是在輸出目前年份和星期時更好的遵守ISO-8601 ,您可以在安装Extension:ParserFunctions 后使用#time parser function (时间解释器函数)。
技术元数据 [ 编辑 ]
变量
输出
描述
版本
站点
{{SITENAME}}
GHGWIKI
维基网站的名称($wgSitename )。
{{SERVER}}
https://gamebaikeshuwiki.miraheze.org
域名URL ($wgServer ).
{{SERVERNAME}}
gamebaikeshuwiki.miraheze.org
子域名和域名(自版本1.17后不再取决于$wgServerName )。
{{DIRMARK}}
{{DIRECTIONMARK}}
输出这个wiki默认语言所使用的Unicode文本方向控制字符(从左到右书写的语言使用‎
,反之使用‏
),这在多方向文本中很有用。它取决于页面语言 。
{{SCRIPTPATH}}
/w
脚本相对路径($wgScriptPath )。
{{STYLEPATH}}
/1.41/skins
样式相对路径($wgStylePath )。
{{CURRENTVERSION}}
1.41.0 (5498056)
此维基站点的MediaWiki版本。
{{CONTENTLANGUAGE}}
{{CONTENTLANG}}
zh
zh
默认界面语言($wgLanguageCode )。
页面
{{PAGEID}}
7104
返回页面编号 。
{{PAGELANGUAGE}}
{{#language:{{PAGELANGUAGE}}}}
zh
中文
返回当前页面的语言。此变量返回的语言代码可使用{{#language:...}}
转换为语言名。
{{PROTECTIONLEVEL:操作}}
输出当前页面对于特定行为(比如edit,move)的保护级别(autoconfirm或sysop等)。若未保护则返回空字符串。
{{PROTECTIONEXPIRY:动作 }}
根据给出的动作(如edit、move),返回当前页面的保护信息(例如:时间戳“20160418155030”,或“infinity”) 如果未被保护,则会返回"infinity"。
{{CASCADINGSOURCES}}
[高开销] 返回当前页面上的任意连锁保护操作来源。除非存在自我嵌入,否则页面将不会返回其各自标题。
最近一次编辑版本号
{{REVISIONID}}
-
唯一的版本ID。 在預覽中為空,因此能用來顯示僅限於預覽時的錯誤訊息。 可能在吝嗇模式 中被停用。
{{REVISIONDAY}}
1
最近一次编辑的日期(无前导0)。
{{REVISIONDAY2}}
01
最近一次编辑的日期(前导0)
{{REVISIONMONTH}}
10
最近一次编辑的月份(1.17+ 有前导0,较早版本没有前导0)。
{{REVISIONMONTH1}}
10
最近一次编辑的月份(没有前导0)。
{{REVISIONYEAR}}
2020
最近一次编辑的年份
{{REVISIONTIMESTAMP}}
20201001165422
最近一次编辑的时间戳。
{{REVISIONUSER}}
城市酸儒文人挖坑
最近一个对指定页面作出编辑的用户,或者当前正在对其编辑进行预览的用户。
{{REVISIONSIZE}}
70500
当前版本页面的大小(维基文本)。
影响页面内容。
{{DISPLAYTITLE:标题 }}
{{DISPLAYTITLE:标题 |noerror}}
{{DISPLAYTITLE:标题 |noreplace}}
设置当前页面标题的显示格式。变量值须与标题等值:只允许对标题的特定部分(不是全部标题)的大小写变化和用下划线替换替换空格(这个设定可以通过$wgRestrictDisplayTitle 改变)。可以通过$wgAllowDisplayTitle 将其启用或禁用;在1.10+前默认禁用,之后的版本中默认启用。
可以使用第二个参数:“noerror”关闭使用多个本魔术字时导致错误信息提示。或“noreplace”如果displaytitle 在前文已经设置,则关闭使用多个本魔术字时导致错误信息提示令displaytitle 失效。
(以无错误提示、不替换为目的)
{{DEFAULTSORT:排序关键字 }}
{{DEFAULTSORTKEY:排序关键字 }}
{{DEFAULTCATEGORYSORT:排序关键字 }}
{{DEFAULTSORT:排序关键字 |noerror}}
{{DEFAULTSORT:|noreplace}}
在分类页面上使用,用来设置默认在分类中排序关键字 。例如当你将{{DEFAULTSORT:Smith , John}}
放到页面John Smith 的结尾,该页面在分类页面上的列表中将默认排到“S”项下。可以使用第二个参数:“noerror”关闭使用多个本魔术字时导致错误信息提示。或“noreplace”如果defaultsort
在前文已经设置,则关闭使用多个本魔术字时导致错误信息提示,令defaultsort
失效。
(以无错误提示、不替换为目的)
这些变量返回的数字往往包含分隔符(根据本地语言参数设置而可能是逗号或空格)。可以通过“:R”来返回无分隔号的数字(例如{{NUMBEROFPAGES}}
→ 7,146和{{NUMBEROFPAGES:R}}
→ 7146)。
对于PAGESINCATEGORY等需要参数的变量则使用“|R”(例如{{PAGESINCATEGORY:Help}}
和{{PAGESINCATEGORY:Help|R}}
及{{PAGESINCATEGORY:Help|subcats}}
和{{PAGESINCATEGORY:Help|subcats|R}}
)。并且也适用于前述{{PAGESIZE:页面名称 }}
。
返回数字的魔术字数字格式取决于内容语言的设定。自1.19 开始,它取决于页面内容语言 。
变量
输出
描述
版本
{{NUMBEROFPAGES}}
7,146
维基页面数量
{{NUMBEROFARTICLES}}
192
在内容名字空间 中,作为条目的页面个数。 参见Manual:$wgArticleCountMethod 获得详情。
{{NUMBEROFFILES}}
38
上传文件的个数。
{{NUMBEROFEDITS}}
16,329
维基编辑的数量
{{NUMBEROFVIEWS}}
页面浏览次数。通常对使用缓存 的wiki无效。 在Gerrit change 150699 被删除。
{{NUMBEROFUSERS}}
201
注册用户数量
{{NUMBEROFADMINS}}
8
管理员(sysop) 组 用户数。
{{NUMBEROFACTIVEUSERS}}
2
活跃用户总数,其标准与Special:Statistics 中的标准相同。
{{PAGESINCATEGORY:categoryname }}
{{PAGESINCAT:categoryname }}
7 7
[高开销] 指定分类 中的页面总数(包括子类和文件)。(Category:Help 在此用于演示)
{{PAGESINCATEGORY:分类名称 |all}}
{{PAGESINCATEGORY:分类名称 |pages}}
{{PAGESINCATEGORY:分类名称 |subcats}}
{{PAGESINCATEGORY:分类名称 |files}}
7 7 0 0
[高开销] 返回指定分类 的:
所有页面数
所有非分类页和非文件页数
所有子分类页数
所有文件页数
(Category:Help 在此用于演示)
{{NUMBERINGROUP:用户组 }}
{{NUMINGROUP:用户组 }}
8 8
特定用户群组 中的用户总数 ({{NUMBERINGROUP:bureaucrat}} used for demonstration)
{{PAGESINNS:索引编号 }}
{{PAGESINNAMESPACE:索引编号 }}
未启用
[高开销] 指定名字空间 中的页面总数。(将“索引编号”替换成相关名字空间编号 )。例如$pins14返回分类页面总数。$pins0与$noa不同之处在于包括重定向页面和消除歧义页面。默认禁用,可以通过$manual-wg-allow-slow-parser-funct设置启用。 For instance, {{PAGESINNAMESPACE:14 }}
will output the number of category pages. {{PAGESINNS:0}}
differs from {{NUMBEROFARTICLES}}
in that the former includes redirects and disambiguation pages. Disabled by default, enable with $wgAllowSlowParserFunctions .
页面名称 [ 编辑 ]
变量
对于当前页面
描述
版本
{{FULLPAGENAME}}
Help:Magic words/zh
名字空间与完整页面标题(包括子页面级别)。
{{PAGENAME}}
Magic words/zh
不包含名字空间的完整页面标题(包括子页面级别)。
{{BASEPAGENAME}}
Magic words
页面标题,不包括当前子页面标题 及命名空间。 在Help:Title/Foo/Bar
頁面返回Title/Foo
。
{{ROOTPAGENAME}}
Magic words
获得当前页面的根页名。 在Help:Title/Foo/Bar
頁面返回Title
。
{{SUBPAGENAME}}
zh
子頁面 標題。 在Help:Title/Foo/Bar
頁面返回Bar
。
如果子頁面不存在將會回傳{{PAGENAME}}
的值。
如果需要使用更多匹配的话,请使用解析器函数擴充功能 的{{#titleparts: }}
。
{{SUBJECTPAGENAME}}
{{ARTICLEPAGENAME}}
Help:Magic words/zh Help:Magic words/zh
获得该页面的完整页面名。对讨论页十分有用。
{{TALKPAGENAME}}
Help talk:Magic words/zh
关联讨论页的完整页面名称
这些变量不受 {{DISPLAYTITLE:xxxx}}
影响,它们都会按原来的页面标题计算返回值。
{{BASEPAGENAME}}
和{{SUBPAGENAME}}
这两个魔术字只在启用了子页面模式的名字空间才生效。关于启用子页面模式请看$wgNamespacesWithSubpages 。
在1.15+ 之后,以上魔术字可以接受一个参数,用于指定特定页面,来代替要处理的当前页面设定:
{{PAGENAME:Template:Main Page}}
→ Main Page
警告: 如果页面标题包含存在.
”或“..
”的任意部分,魔术字不会返回任何东西。
{{PAGENAME:one/./three}}
→ '. 不会返回任何东西。
URL 編碼後的頁面名稱 [ 编辑 ]
以下是在MediaWiki URL中的等价编码(就是空格替换为下划线,以及使用数字字符编码的一些HTML溢出字符 ):
{{FULLPAGENAMEE}}
{{PAGENAMEE}}
{{BASEPAGENAMEE}}
{{SUBPAGENAMEE}}
{{SUBJECTPAGENAMEE}}
{{ARTICLEPAGENAMEE}}
{{TALKPAGENAMEE}}
{{ROOTPAGENAMEE}}
注意{{PAGENAME:...}}
、{{PAGENAMEE:...}}
和{{urlencode:...}}
有不同的实现方式。参见手册:PAGENAMEE编码 以获取详情。
名字空间 [ 编辑 ]
变量
输出
描述
版本
{{NAMESPACE}}
Help
名字空间的名称
{{NAMESPACENUMBER}}
12
页面所在名字空间的ID
{{SUBJECTSPACE}}
{{ARTICLESPACE}}
Help Help
相关联的内容名字空间的名称
{{TALKSPACE}}
Help talk
相关联的讨论名字空间的名称
以下是在MediaWiki URL中的的等价编码(空格替换为下划线,一些字符替换为百分号编码):
{{NAMESPACEE}}
{{SUBJECTSPACEE}}
{{ARTICLESPACEE}}
{{TALKSPACEE}}
在1.15+ 开始,这些可以是完整页面名参数,并将返回与那个页面相关的请求名字空间,而不是在当前页面中:
{{NAMESPACENUMBER:MediaWiki}}
→ 0
{{NAMESPACE:MediaWiki}}
→ (Pages in main space will return empty)
{{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 )
变量
输出
描述
版本
{{!}}
|
用于在模板或者是表格内插入管道符号。在被添加为魔术字之前,许多wiki通过创建包含|
内容的Template:! 来实现。
解析器函数 [ 编辑 ]
解析器函数与变量相似,但需要一个或多个参数(技术上讲,任何需要参数的魔术字都是解析器函数),并且名称有时以井号 (hash)开头,以与模板区分开来。
此页面只描述MediaWiki软件中重要的解析器函数。其他MediaWiki软件可能添加的解析器函数包括Extension:ParserFunctions 等,请参见Help:Extension:ParserFunctions 。
另一页面的技术元数据 [ 编辑 ]
解析器函数
输出 (使用MediaWiki 进行示范)
描述
版本
{{PAGEID: 页面名称 }}
7144
[高开销] 返回指定页面*的页面标识符。
{{PAGESIZE:页面名称 }}
{{PAGESIZE: 页面名称 |R}}
88,152 88152
[高开销] 返回特定页面的字节大小。使用“|R
”获取原始(未处理)数值。
{{PROTECTIONLEVEL:操作 | 页面名称 }}
[高开销] 输出当前页面对于特定行为(比如edit,move)的保护级别(autoconfirm或sysop等)。若未保护则返回空字符串。
{{PROTECTIONEXPIRY:
action |
page name }}
infinity
[高开销] 根据给出的动作(如edit、move),返回当前页面的保护信息(例如:时间戳“20160418155030”,或“infinity(无限期)”) 如果未被保护,则会返回"infinity(无限期)"。
{{CASCADINGSOURCES: page name }}
[高开销] 返回在特定页面上任意连锁保护的来源。页面将不会返回其本身标题,除非页面有自我嵌入行为。
{{REVISIONID: 页面名称 }}
15199
[高开销] 当前页面的最新更改的ID。
{{REVISIONDAY: 页面名称 }}
1
[高开销] 指定页面的最新更改的天* (未补全的数字)。
{{REVISIONDAY2: 页面名称 }}
01
[高开销] 指定页面的最新更改的天* (以0补全的数字)。
{{REVISIONMONTH: 页面名称 }}
10
[高开销] 指定页面的最新修改的月* (在1.17+ 中为以0补全的数字,在之前的版本里为未补全的数字)。
{{REVISIONMONTH1: 页面名称 }}
10
[高开销] 指定页面的最新修改的月* (未补全的数字)。
{{REVISIONYEAR: 页面名称 }}
2020
[高开销] 指定页面的最新修改的年*。
{{REVISIONTIMESTAMP: 页面名称 }}
20201001165937
[高开销] 指定页面的最新修改的时间截*。
{{REVISIONUSER: 页面名称 }}
城市酸儒文人挖坑
[高开销] 指定页面的最新修改的用户名*。
*当提供的参数等于当前解析器标题,在预览时以及在替换使用时解析器函数将产生上一版本,在用于页面创建时,这包括空字符串,但使用来自当前版本页面浏览的值,包括浏览旧版本。这种情况下它并非高开销函数解析器。
URL数据 [ 编辑 ]
名字空间 [ 编辑 ]
{{ns:}}
使用该索引,规范名称或本地别名返回名字空间 的当前本地化名称。因此{{ns:6}}
,{{ns:File}}
和{{ns:Image}}
(File名称空间的旧名称)都返回File。在内容语言为法语的wiki上,{{ns:Fichier}}
也有效,但{{ns:Datei}}
(德语中“File”的本地化)不是。
{{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}}
GHGWIKI Varies between wikis
{{ns:5}}
/ {{ns:Project talk}}
GHGWIKI 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: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 654,321|R}}
采用未格式化的数字(例如阿拉伯语数字 ,没有组分隔符和.
作为小数分隔符)并将其输出到本地化的数字脚本中,并使用十进制和十进制组分隔符进行格式化, 到wiki的默认语言环境。
|R
参数可用于反转行为,以便在数学情况下使用:它是可靠的,并且应该仅用于格式化已知格式完全为的数字formatnum使用wiki的语言环境对它们进行格式化。
指定 NOSEP
(“无分隔符”)参数会使数位分组分隔符和小数点分隔符不被修改,此时 formatnum 只会在不使用w:zh:印度-阿拉伯数字系统 的语言中将数字字符进行转换。NOSEP
参数还会防止出现意外的非标准数字分组。
警告: 如果你没有准确地以需求的数字格式输入,则难以得到任何可靠的输出,尤其是在非英文的维基上。
如果你真的需要输入一个无法保证格式正确的数字(根据Wiki的语言环境)的话,你可以使用formatnum
两次(但请不要在输入数字可能有数位分组格式的情况下使用这种变通方式,否则分隔符可能会消失或数字无法被格式化)。请注意这种方法是非常取巧的,因此它的输出结果可能不可靠。
{{#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
(大小写敏感)。如果只给定了月份和日期的话,只有 mdy
和 dmy
是合法格式。如果未给定日期格式或日期格式不合法,则输入格式将用作为默认格式。如果提供的日期未被识别为有效日期(特别是,如果它包含任何元数据,例如来自另一个 dateformat
或类似模板的嵌套使用),则将其保持不变,并且不会生成额外的元数据。
警告: 即使ISO 8601格式要求参数1的日期是公历日期,若参数2指定ISO 8601,函数也能对那些超出通常公历范围的日期进行格式化(例如1583年之前的日期)。不过,函数无法正确转换ISO 8601格式下的负数年份和通常格式下的公元前的年份。
{{lc:string }}
{{lc:DATA CENTER}}
→ data center
小写输入。
{{lcfirst:string }}
{{lcfirst:DATA center}}
→ dATA center
输入的内容会强制将首字母 小写化。
{{uc:string }}
{{uc:text transform}}
→ TEXT TRANSFORM
大写输入。
{{ucfirst:string }}
{{ucfirst:text tRAnSFORM}}
→ Text tRAnSFORM
输入的内容会强制将首字母 大写化。
{{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本)。多字节字符也不能用作填充字符。
{{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
一致。
参见: Extension:StringFunctions 。
本地化 [ 编辑 ]
这些是用于本地化工具的魔术字。其他的魔术字经常依赖wiki的本地化和位置,或者其他已选的语言,参见特定的#日期和时间 、#格式化 、杂项 。更多的魔术字由Extension:Translate 添加。
魔术字的用法会非常复杂,而且文档目前还不完整,PLURAL 、GRAMMAR 、GENDER 上有更多信息。
用法
输入 → 输出
描述
版本
{{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。它的表现是与界面语言相关的 。
一些语言(ab、av、ba、bxr、ce、crh_cyrl、cv、inh、koi、krc、kv、lbe、lez、mhr、mrj、myv、ru、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 。
{{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名字空间下的页面使用。
用户名为点 (.) 时使用站点默认设置。
{{int:信息名称 }}
{{int:edit}}
→ 编辑 (取决于用户语言,可以试试:fr • ja )
该解析器函数将会把(MediaWiki名字空间下的)界面信息翻译成用户语言。msgnw
和其他嵌套引用魔术字参见嵌入修改器 一节。注意在1.17版本以前,这么做会导致缓存一致性被破坏,参见T16404 。
{{int:editsectionhint|MediaWiki}}
{{int:editsectionhint|MediaWiki}}
→ 编辑章节:MediaWiki
你可以在翻译过程中使用参数。 界面消息里的参数使用 $1、$2、$3 来引用 例如,editsectionhint 界面消息的源码为:编辑章节:$1 在左侧例子中,MediaWiki 替换了 $1。
嵌入修改器 [ 编辑 ]
{{页面名 |可选参数 }}
默认从 Template: 名字空间嵌入页面。
这些魔术字会修改那个行为。
用法
输出
描述
版本
{{:xyz}}
裸冒号不是模板修饰符,而是主命名空间的前缀。 由于嵌入默认为模板命名空间,因此您可以使用{{:UTC}}(与{{UTC}})来包含主名字空间条目UTC的文本而不是Template:UTC。
{{int:xyz}}
除了会根据内容/用户/uselang指定的语言来使用子页面以进行标准消息翻译外,其他与 {{MediaWiki:xyz}} 一致。 另一个区别在于,使用本函数后不会在“脚本错误:函数“renderIntMessage”不存在。 ”出现模板名(即界面消息名)。 如果MediaWiki:xyz 不存在则渲染为⧼xyz⧽。 参见Help:System message 。
{{msg:xyz}}
{{raw:xyz}}
即使有魔术字同名也会优先以模板名考虑,除非对应的模板不存在(等同于 {{template:xyz}}) 通常来说,当存在冲突时,会优先以魔术字名考虑。
{{raw:xyz}}
如果开启了 $wgEnableScaryTranscluding ,那么将会在跨维基的嵌套引用中不引用来自对方站点的预渲染html而是引用wikitext源码。
{{msgnw:xyz}}
呈现未展开的wiki文本(或多或少,有关详细信息,请参阅Help:Template )。
{{subst:xyz}}
在wikitext中,该函数将会被替换成模板文本(仅单层展开),参见Help:Template 。
{{safesubst:xyz}}
参见Help:Template 。
用法
输出
描述
版本
{{#language:语言代码 }}
{{#language:ar}}
{{#language:语言代码 |目标语言代码 }}
{{#language:ar|en}}
language code العربية language code Arabic
以参数2的语言代码 指定的语言(没有则以参数1的)输出参数1的语言代码对应的语言全名:默认为本地化名称(语言别名),当指定了目标语言代码时会输出目标语言翻译版本。如果您需要指定目标语言则必须预先安装 $ext-cldr。 Extension:CLDR must be installed for the translation to work.
(翻译)
{{#special:特殊页面名 }} {{#special:userlogin}}
Special:Special page name Special:用户登录
给定规范Special:页面的本地化名称。
{{#speciale:特殊页面名 }} {{#speciale:userlogin}}
Special:Special_page_name Special:%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95
给定规范Special:页面的本地化和URL编码名称。
{{#tag:标签名称 |内容 |attribute1=value1 |attribute2=value2 }}
(基于解析器标签)
Alias for XML-style MediaWiki parser tags or extension tags. It allows a pre-save transform of wiki code and Extension:ParserFunctions within tags before the tag is processed. It also prevents parsing of tags in conditional paths that aren't executed (like in #if
statements). Content between tags is passed as the first parameter, and any attributes for the tags can be passed as subsequent parameters. This example:
<标签名称 attribute1 ="value1 "attribute2 ="value2 ">
此处输入您的内容 </标签名称>
…能够像这样被重写:
{{#tag:
标签名称 |
此处输入您的内容 |
attribute1 =value1 |
attribute2 =value2 }}
例如Cite扩展 的<ref>
标签:
{{#tag:ref|Citation text goes here, and you can include parser functions like {{#expr: ... }} and magic words like {{PAGENAME}}.|name="multiple"}}
警告: You must write {{#tag:
tagname ||
attribute1 =value1 |
attribute2 =value2 }}
to pass an empty content. No leading or trailing space of the text content are permitted between the pipe characters ||
before attribute1 .