• 你好~!欢迎来到萌娘百科!如果您是第一次来到这里,点这里加入萌娘百科!
  • 欢迎具有翻译能力的同学~有意者请点→Category:需要翻译的条目
  • 如果您在萌娘百科上发现某些内容错误/空缺,请勇于修正/添加!编辑萌娘百科其实很容易!
  • 觉得萌娘百科有趣的话,请推荐给朋友哦~
  • 萌娘百科群119170500欢迎加入,加入时请写明【萌娘百科+自己的ID】~
  • 萌娘百科Discord群组已经建立,请点此加入!

帮助:高级字词转换语法

萌娘百科,万物皆可萌的百科全书!
跳转至: 导航搜索
Cat ico20.png
此条目最初引自中文维基百科的Help:高级字词转换语法,版权协定可能与萌百并不相同。内容经过双方不同人员的修改后,可能会有很大差异。

中文维基百科的字词转换机制是由MediaWiki的LanguageConverter实现的,其中提供了丰富的手动设置语法供用户选择。

用语

中文维基百科的字词转换系统虽然使用多时,但一直缺少一套较完整的用语用于人们沟通和学习。因为中文圈在这方面的文章和著述甚少,所以用语大量来自英文。用语来源有 HTML2.0 规格书(即是 rfc1866 )中的 Terms 一节、为 HTML5 而设的《HTML: The Markup Language Reference》中的 HTML syntax 一节、《Extensible Markup Language (XML) 1.0 (Fifth Edition)》、英文维基百科(enwiki:HTML_elementsenwiki:HTML……)、MediaWiki软体的原始码(LanguageConverterLanguageZh),用语译法来源有 Google Help (不使用标示为「自动翻译的文章」的文章)、微软 MSDN library (只使用标示为「人为翻译」的文章)、 Google 图书搜寻、 Google Google web 搜寻等等。

维基标记(wikimarkup),或称维基文字(wikitext、维基文本)、维基代码(wikicode),是一种标记语言,各种功能透过标记(markup)来使用。在 HTML 和 XML 用语中,界定出文档中的元素的标记称为标签(tag),除此之外,标记还可以是字元参照、实体参照、注释、 DOCTYPE 宣告等,亦即任何字元资料(亦即纯文字)以外的原始码皆为标记。wikitext 还没有清晰的定义,规格化的工作还在进行中,哪些标记才是标签还不清楚。此文暂时把转换语法的标记称为标签。

手动转换语法的转换标签的语法大致有以下几种:
-{text}-
-{ flag | variant1 : text1 ; variant2 : text2 ; }-
-{ flag1 ; flag2 | from => variant : to ; }-

界定符号

界定,即 delimit ,或译分界、分隔,大陆多译作定界,指以界定符号/界定字元(delimiter)指明出纯文字或资料串流中分开的独立区域之间的边界。纯粹的 delimiter 起语法作用,语义极弱,相当于自然人类语文的标点符号。标记语言因使用了各种明确的界定符号,便于人脑和电脑静态分析而见长。「-{」、「}-」为界定出转换标签的界定符号。转换标签内的垂线「|」为分隔出旗标列表和对应(map)规则的界定符号。旗标列表内的「;」为分隔各个旗标的界定符号。

旗标

旗标,即 flag ,为一种语法构造,用于要求转换标签的可选行为或甚至改变转换标签的整个动作。分为一般旗标和语种旗标。当没有在旗标列表中使用任何旗标,则为空旗标。现时转换标签所支援的一般旗标有 A 、 H 、 T 、 D 、 R 、 N 、 - ,和只用于转换程序内部而无法以语法直接指定的 S 和 + 旗标。

没有使用旗标列表

为没有使用垂线分隔出旗标列表时的情况,依据是否能从转换标签的内容中剖析(parse)出对应规则(mapping rule)分为两种处理方式。如果剖析出对应规则的话,则为 S 旗标转换,即是寻常的显示字词转换方式(S stands for show)。如果剖析不出任何对应规则的话,则为 R 旗标转换,即是停用字词转换,显示原文(R stands for raw)。

空旗标

或称空旗标列表,为当旗标列表留空,没有使用任何一个标旗时的说法。处理方式跟没有使用旗标列表一样,只不过这时依据的是垂线右则的内容。如果垂线右则的内容剖析不出任何对应规则的话,则为 R 旗标转换,即是停用字词转换,显示原文(R stands for raw)。

原文

这里指不使用转换器的情况下会显示出的版本。在维基百科编辑文章时在编辑器显示的即为原始码版本的原文。 MediaWiki 的、中文维基百科所使用的字词转换系统的做法是,由原文转换为某个指定的字词模式,而不是由某一种语言转成另一种语言。直至现时为止, MediaWiki 的字词转换系统不支援指定原文的某一部份所使用的为某一种语种或语言。

语种

原文 variant ,为变种、变体之意,在不同领域有不同译法,在这里暂译为语种,政治正确的叫法为用字模式。在转换标签的语法以语言代码填写。

语言代码

原文language code,简称code,现时转换标签的语法所支援的语言代码有zh、zh-hant、zh-hans、zh-tw、zh-cn、zh-hk、zh-sg、zh-mo、zh-my,但zh-my没有实际使用,此项在使用时以zh-sg代替,意思如下表:

代码 语言 备注
zh 中文 「zh」为「中」字的普通话拼音的声母。
zh-hant 繁体 「han」为「汉」字的普通话拼音的英文译法, t 为「Traditional Chinese」的首字母。
zh-hans 简体 「han」为「汉」字的普通话拼音的英文译法, s 为「Simplified Chinese」的首字母。
zh-tw 台湾正体 tw 为台湾(Taiwan)的国家地区代码
zh-cn 大陆简体 cn 为中国(China,特指中国大陆)的国家地区代码。
zh-hk 香港繁体 hk 为香港(Hong Kong)的国家地区代码。
zh-sg 马新简体 sg 为新加坡(Singapore)的国家地区代码。在这转换语法,马来西亚跟新加坡使用同一个用字模式。
zh-mo 澳门繁体 mo 为澳门(Macao)的国家地区代码。
zh-my 大马简体 my 为马来西亚(Malaysia)的国家地区代码。

主语言代码

原文 main language code ,简称 main code ,MediaWiki 的每个字词转换器都有个主要语言代码,做为回传语种时最后的预设值,如果某个语种没有设定后援语言,则也使用主要语言代码做为它的后援语言。每个语种的维基百科所使用的语言代码即为它的主要语言代码,中文维基百科的为 zh 。另一方面,MediaWiki 的某些语言版本,例如中文维基百科所使用的中文版,以主要语言代码作为原文模式的语言代码。

后援语言

当字词转换发现没有某语种的全文转换定义时,会查阅后援语种(fallback language variant)的规则进行替补。例:按LanguageZh.php$variantfallbacks定义,若找不到香港用语,系统会按顺序尝试使用繁体、澳门和台湾的定义。

语法

基本语法

称谓 功能 示例 备注
源码 输出结果
双向转换 实现双向转换,可带有转换标签,为手动转换语法中最常用的功能 -{zh-hans:计算机; zh-hant:電腦;}-
双向转换输出结果
不转换 计算机
简体 计算机
繁体 電腦
大陆简体 计算机
港澳繁体 電腦
马新简体 计算机
台湾繁体 電腦
单向转换 实现单向转换,可带有转换标签,主要用于新增全文转换规则,比双向转换效率高

-{H|巨集=>zh-cn:宏;}-

测试:巨集、宏

单向转换输出结果
不转换 测试:巨集、宏
简体 测试:巨集、宏
繁体 測試:巨集、宏
大陆简体 测试:宏、宏
港澳繁体 測試:巨集、宏
马新简体 测试:巨集、宏
台湾繁体 測試:巨集、宏
单向转换不带继承特性,如左例中“简体”和“马新简体”并未转换用词。使用zh-hans亦只会应用到“简体”而不会应用“大陆简体”。
禁止字词转换 同时禁止繁简和地区词的转换

-{简体字繁體字}-

禁止字词转换输出结果
不转换 简体字繁體字
简体 简体字繁體字
繁体 简体字繁體字
大陆简体 简体字繁體字
港澳繁体 简体字繁體字
马新简体 简体字繁體字
台湾繁体 简体字繁體字
这种写法将完全禁止字词转换,在某些场合(如只需禁止地区词转换)或不适用
禁止地区词转换 禁止被切断的地区词转换,但允许个别字之繁简转换

北-{}-韓、北朝-{}-鲜
(假定系统转换表中有“北韓”和“北朝鲜”的对应规则)

禁止地区词转换输出结果
不转换 北韓、北朝鲜
简体 北韩、北朝鲜
繁体 北韓、北朝鮮
大陆简体 北韩、北朝鲜
港澳繁体 北韓、北朝鮮
马新简体 北韩、北朝鲜
台湾繁体 北韓、北朝鮮
还有另一种组合转换标签的方式也可以实现同样的功能,并且便于在模板中使用,详见后文

转换标签

常用标签

标签 功能 示例 备注
源码 输出结果
H 添加全文转换规则,并隐藏H转换文本

-{H|zh-cn:博客; zh-hk:網誌; zh-tw:部落格;}-

测试:博客、網誌、部落格

H转换输出结果
不转换 测试:博客、網誌、部落格
简体 测试:博客、网志、部落格
繁体 測試:博客、網誌、部落格
大陆简体 测试:博客、博客、博客
港澳繁体 測試:網誌、網誌、網誌
马新简体 测试:博客、博客、博客
台湾繁体 測試:部落格、部落格、部落格
“简体”和“繁体”下并不会转换用词模式,而只会转换纯粹的简繁体
A 添加全文转换规则,并输出A转换解析文本

-{A|zh-cn:博客; zh-hk:網誌; zh-tw:部落格;}-

测试:博客、網誌、部落格

A转换输出结果
不转换

博客

测试:博客、網誌、部落格

简体

博客

测试:博客、网志、部落格

繁体

部落格

測試:博客、網誌、部落格

大陆简体

博客

测试:博客、博客、博客

港澳繁体

網誌

測試:網誌、網誌、網誌

马新简体

博客

测试:博客、博客、博客

台湾繁体

部落格

測試:部落格、部落格、部落格

注意和H转换对比结果
- 移除全文转换规则

-{H|zh-cn:博客; zh-hk:網誌; zh-tw:部落格;}-

测试1:博客、網誌、部落格

-{-|zh-cn:博客; zh-hk:網誌; zh-tw:部落格;}-

测试2:博客、網誌、部落格

H转换、-转换配合的输出结果
不转换 测试1:博客、網誌、部落格

测试2:博客、網誌、部落格

简体 测试1:博客、网志、部落格

测试2:博客、网志、部落格

繁体 測試1:博客、網誌、部落格

測試2:博客、網誌、部落格

大陆简体 测试1:博客、博客、博客

测试2:博客、网志、部落格

港澳繁体 測試1:網誌、網誌、網誌

測試2:博客、網誌、部落格

马新简体 测试1:博客、博客、博客

测试2:博客、网志、部落格

台湾繁体 測試1:部落格、部落格、部落格

測試2:博客、網誌、部落格

测试1和测试2有差异
T 强制覆盖页面原有标题

-{T|zh-cn:汤姆·汉克斯; zh-hk:湯·漢斯; zh-tw:湯姆·漢克斯;}-

(假定页面原始标题为“汤姆·汉克斯”)

T转换输出结果(显示在页面标题处)
不转换 汤姆·汉克斯
简体 汤姆·汉克斯
繁体 湯姆·漢克斯
大陆简体 汤姆·汉克斯
港澳繁体 湯·漢斯
马新简体 汤姆·汉克斯
台湾繁体 湯姆·漢克斯
{{标题替换}}
D 描述转换规则

-{D|zh-cn:汤姆·汉克斯; zh-hk:湯·漢斯; zh-tw:湯姆·漢克斯;}-

D转换输出结果
不转换 大陆:汤姆·汉克斯;香港:湯·漢斯;台灣:湯姆·漢克斯;
简体 大陆:汤姆·汉克斯;香港:湯·漢斯;台灣:湯姆·漢克斯;
繁体 大陆:汤姆·汉克斯;香港:湯·漢斯;台灣:湯姆·漢克斯;
大陆简体 大陆:汤姆·汉克斯;香港:湯·漢斯;台灣:湯姆·漢克斯;
港澳繁体 大陆:汤姆·汉克斯;香港:湯·漢斯;台灣:湯姆·漢克斯;
马新简体 大陆:汤姆·汉克斯;香港:湯·漢斯;台灣:湯姆·漢克斯;
台湾繁体 大陆:汤姆·汉克斯;香港:湯·漢斯;台灣:湯姆·漢克斯;

组合转换标签

标签 功能 示例 备注
源码 输出结果
zh
zh-hans
zh-hant
zh-cn
zh-hk
zh-sg
zh-tw
限制要显示的语言的有效范围[1]

-{H|zh-cn:博客; zh-hk:網誌; zh-tw:部落格;}-

测试1:-{zh;zh-hans;zh-hant|博客、網誌、部落格}-

测试2:-{zh;zh-cn;zh-hk|博客、網誌、部落格}-

组合转换输出结果
不转换 测试1:博客、網誌、部落格

测试2:博客、網誌、部落格

简体 测试1:博客、网志、部落格

测试2:博客、博客、博客

繁体 測試1:博客、網誌、部落格

測試2:網誌、網誌、網誌

大陆简体 测试1:博客、网志、部落格

测试2:博客、博客、博客

港澳繁体 測試1:博客、網誌、部落格

測試2:網誌、網誌、網誌

马新简体 测试1:博客、网志、部落格

测试2:博客、博客、博客

台湾繁体 測試1:博客、網誌、部落格

測試2:網誌、網誌、網誌

除了测试1和测试2之间有差异外,跟上方使用 H 标签作转换的例子之间也有差异[1]

注释

  1. 1.0 1.1 这为配搭后退(fallback)机制来限制所显示语言的一种显示方式,不会完全强制显示某种特定的语言。当要显示的语言在有效范围之外时,用后退(fallback)机制,在原先要显示的语言的后援语言当中选取在有效范围中的语言,把要显示的语言改为那语言。如果原先要显示的语言和其后援语言皆没有一种是在有效范围之内,则以原文显示,这时为 R 标旗的显示方式。(注:虽然叫 zh ,但程式作实上只是不转换时的内容,即是预设的内容。)

参见