本页使用了标题或全文手工转换

帮助:高级字词转换语法

维基百科,自由的百科全书
跳到导航 跳到搜索
Chinese conversion.svg 字词转换
主页 讨论
转换请求
错误修复请求
地区词候选
转换介绍
字词转换处理 讨论
  繁简处理 讨论
  地区词处理 讨论
  公共转换组 讨论
帮助文档
繁简与地区词处理 讨论
  转换原理 讨论
  手工转换 讨论
  高级语法 讨论
  显示模式选择说明
相关模板
NoteTA 全文字词转换
CGroup 公共转换组列表
地区用词 地区词模板
地区用词2 进阶地区词模板
各地中文名 地区用词信息框
查看 - 讨论 - 编辑 - 变动

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

用语[编辑]

中文维基百科的字词转换系统虽然使用多时,但一直缺少一套较完整的用语用于人们沟通和学习。因为中文圈在这方面的文章和著述甚少,所以用语大量来自英文。用语来源有 HTML2.0 规格书(即是 rfc1866 )中的 Terms 一节、为 HTML5 而设的《HTML: The Markup Language Reference》中的 HTML syntax 一节、《Extensible Markup Language (XML) 1.0 (Fifth Edition)》、英文维基百科(en:HTML_elementsen: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代替涵盖,于2018年拆分。意思如下表:

代码 语言 备注
zh 中文 “zh”为“中”字的普通话拼音的声母。
zh-hant 繁体 ISO 15924代码。“han”为“汉”字的普通话拼音的英文译法, t 为“Traditional Chinese”的首字母。
zh-hans 简体 ISO 15924代码。“han”为“汉”字的普通话拼音的英文译法, s 为“Simplified Chinese”的首字母。
zh-tw 台湾繁体 tw 为台湾(Taiwan)的ISO 3166-2国家地区代码
zh-cn 大陆简体 cn 为中国(China,特指中国大陆)的国家地区代码。
zh-hk 香港繁体 hk 为香港(Hong Kong)的国家地区代码。
zh-sg 新加坡简体 sg 为新加坡(Singapore)的国家地区代码。马来西亚跟新加坡原用“马新简体”模式涵盖。
zh-mo 澳门繁体 mo 为澳门(Macau)的国家地区代码。
zh-my 大马简体 my 为马来西亚(Malaysia)的国家地区代码。

主语言代码[编辑]

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

手动等级[编辑]

后退[编辑]

/* 后退 */

后援语言[编辑]

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

全文转换[编辑]

全语种全文转换[编辑]

语种旗标[编辑]

Action[编辑]

指转换规则的动作。

Display[编辑]

默认转换表格[编辑]

语法[编辑]

基本语法[编辑]

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

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

测试:巨集、宏

单向转换不带继承特性,如左例中“简体”和“马新简体”并未转换用词。使用zh-hans亦只会应用到“简体”而不会应用“大陆简体”。
禁止字词转换 同时禁止繁简和地区词的转换

-{简体字繁體字}-

这种写法将完全禁止字词转换,在某些场合(如只需禁止地区词转换)或不适用
禁止地区词转换 禁止被切断的地区词转换,但允许个别字之繁简转换

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

还有另一种组合转换标签的方式也可以实现同样的功能,并且便于在模板中使用,详见后文

转换标签[编辑]

常用标签[编辑]

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

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

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

“简体”和“繁体”下并不会转换用词模式,而只会转换纯粹的简繁体
A 添加全文转换规则,并输出A转换解析文本

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

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

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

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

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

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

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

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

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

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

D 描述转换规则

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

组合转换标签[编辑]

标签 功能 示例 备注
源码 输出结果
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之间有差异外,跟上方使用 H 标签作转换的例子之间也有差异[1]

测试1若为zh;zh-hans;zh-hant则显示转换后的文字,否则单纯显示不转换的文字。有沿溯(fallback)的限制,MediaWiki 1.15新增功能。此功能可用于需要避免地区词转换,但允许繁简转换的场合。比如{{Infobox Film}}中的各地片名部分。

不转换的内容[编辑]

自动转换程序会自动规避“程序码”类的标签,包括<pre>...</pre><code>...</code>两种。如果要将前两种用于条目内的程序范例,可以使用空转换标签-{}-强制启用转换。

注释[编辑]

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

参见[编辑]