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

Help:高级字词转换语法

维基百科,自由的百科全书
跳转至: 导航搜索
快捷方式
H:Convert
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代替,意思如下表:

代碼 語言 備註
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]

不转换的内容[编辑]

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

註釋[编辑]

  1. ^ 1.0 1.1 這為配搭後退(fallback)機制來限制所顯示語言的一種顯示方式,不會完全強制顯示某種特定的語言。當要顯示的語言在有效範圍之外時,用後退(fallback)機制,在原先要顯示的語言的後援語言當中選取在有效範圍中的語言,把要顯示的語言改為那語言。如果原先要顯示的語言和其後援語言皆沒有一種是在有效範圍之內,則以原文顯示,這時為 R 標旗的顯示方式。(註:雖然叫 zh ,但程式作實上只是不轉換時的內容,即是預設的內容。)

参见[编辑]