手册:魔术字

来自MyaWiki.Org
跳转到导航 跳到搜索

OOJS UI图标 扩展 发展 ·标记扩展 ·解析器函数 ·挂钩 ·专版 · ·魔法词 ·应用程序接口 ·内容模型
MeimaWiKi扩展

魔法词是一种将各种wiki文本字符串映射到与函数相关联的单个ID的技术。两个变量解析器函数使用这种技术。映射到该ID的所有文本将被函数的返回值替换。文本字符串和ID之间的映射存储在变量中。美元魔术在一个可以加载的文件中$WGExtExigMeMasgEsFrs[].

默认的魔法词在核函数 .

魔法词如何运作[编辑]

每当MiTaWiKi在双括号之间找到文本时({{xxx…}})它必须决定XXX是否是变量解析器函数模板. 为了做到这一点,它提出了一系列问题:

  1. 它有相关的魔法词ID吗?作为解决表单标记的第一步{{xxx…}}MiTaWiKi试图翻译XXX一个魔术字ID。翻译表是由$MigWord定义的。
    • 如果没有魔法词ID与XXXXXX被假定为A模板.

  2. 它是一个变量吗?如果一个魔法字ID发现,MeaWiki接下来检查它是否有任何参数。
    • 如果没有找到参数,MistaWiKi将检查魔术字ID是否已被声明为变量ID。MagicWord:GETVALIABLE(). 此方法从变量ID的硬编码列表中获取变量ID的列表(参见帮助:变量)和从连接到挂钩的所有功能提供的自定义变量ID列表中魔幻变种.
      • 如果魔术字ID被分类为变量,钩子MyaWiKi调用与事件名称相关联的函数。“PARGETGETVALIABLE ValueSwitter”直到发现一个魔法词并能返回它的价值。

  3. 它是解析器函数吗?如果有任何参数,或者如果魔术单词ID从变量魔术字ID列表中丢失,那么MyaWiKi假定魔术字是解析器函数模板. 如果在通过调用声明的解析器函数列表中找到魔术单词ID$WGPARSER> > StimeStimeHOK($MAGICWORDID,$ReDuffFrimeNoDy)它被当作解析器函数来处理,并用函数命名。$渲染函数名. 否则,它被假定为模板。


定义魔法词[编辑]

对于魔术字做他们的魔术,我们必须定义两件事:

  • 维基文本与魔术字ID的映射
  • 一个魔术字ID和一些PHP函数之间的映射来解释魔术字。

将Wiki文本映射到魔术字ID[编辑]

变量$MigCICE用于将每个魔法词ID与语言相关的数组相关联,该数组描述映射到魔术字ID的所有文本字符串。重要的是:这只设置后端I18N映射,还需要编写其他代码以使MiTaWiKi使用魔法词来进行任何操作。

这个数组的第一个元素是一个整数标志,指示魔术字是否区分大小写。剩下的元素是一个应该与魔术字ID相关联的文本列表。如果区分大小写标志为0,则数组中的任何名称变体都将匹配。如果区分大小写标志为1,则只有精确的情况匹配将与魔术字ID相关联。$MigWord [ [EN’]=[nInLoNeNe]=>〔0〕“NAMEUSER类型”,“AudioTaleAlasuSerkType”];

该关联是由使用注册的文件中的$MigWord创建的。$WGExtExigMeMasgEsFrs[].

在下面的例子中,一个西班牙MyaWiKi安装会将魔术字ID“MaGuSuffe”与“MaulalIZADO”、“自定义”、“MuxalIZADO”、“自定义”以及所有其他情况变量相关联。在一个英文媒体中,只有“风俗”在不同的案例组合中被映射到“MaGuSuffe”:

文件I18N.MICIC.PHP

<?PHP

美元魔术 = [];

美元魔术[“恩”] = [
	“马格定制” = > [  “风俗” 


美元魔术[“ES”] = [
	“马格定制” = > [  “个人主义” 

部分扩展名.jSON文件:

“扩展消息文件” {
	“样板” “I.18.Posial.php示例”
}

注意,“ExpLimeMaEy”与一个简单的国际化文件(通常只是扩展名,即“示例”)不同。“魔法”被故意附加,所以不会覆盖另一个。

将魔术字ID与PHP函数相关联[编辑]

将魔术字ID与渲染函数关联的机制取决于魔术字是否将被用作解析器函数或A变量. 欲了解更多信息,请参阅:

注册魔法词[编辑]

没有注册魔术字ID的明确要求。注册解析器函数或使用它们的变量就足够了。

本土化[编辑]

帮助:神奇的词语——本地化寻求帮助。

你可以阅读更多关于本地化的魔法词的定义和用法。JavaScript中的本地化、复数和性别支持本地化、本地化命名空间和特殊页面别名本地化在消息中切换…本地化-知道所有数字的复数用途本地化用户有语法性别在消息中避免{{命名}}.

行为开关(双下划线魔术字)[编辑]

行为开关是一种特殊类型的魔术字。它们可以通过使用双下划线(而不是双括号)来识别。例如,爱诺托克.

这些魔术字通常不输出任何内容,而是改变页面的行为和/或设置页面属性。这些神奇的单词列在MagicWord:MuldieLooStuteCies并在帮助:魔术字-行为开关. 每个行为开关的作用定义在解析器:doDouLubStimeCe(). 如果没有定义特定的效果,魔术字将简单地在Page ZoPrPS表中设置页属性。

也见[编辑]