說明:進階字詞轉換語法

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
字詞轉換
主頁 討論
轉換請求
錯誤修復請求
地區詞候選
轉換介紹
字詞轉換處理 討論
  繁簡處理 討論
  地區詞處理 討論
  公共轉換組 討論
幫助文件
繁簡與地區詞處理 討論
  轉換原理 討論
  手工轉換 討論
  進階語法 討論
  用字模式選擇說明
相關模板
NoteTA 全文字詞轉換
CGroup 公共轉換組列表
Lan 介面文字轉換
地區用詞 地區詞模板
地區用詞2 進階地區詞模板
各地中文名 地區用詞資訊框
檢視 - 討論 - 編輯 - 變動

中文維基百科的字詞轉換機制是由MediaWiki的LanguageConverter實現的,其中提供了豐富的手動設定語法供用戶選擇。

用語

中文維基百科的字詞轉換系統雖然使用多時,但一直缺少一套較完整的用語用於人們溝通和學習。因為中文圈在這方面的文章和著述甚少,所以用語大量來自英文。用語來源有HTML2.0規格書(即是RFC 1866)中的 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搜尋等等。

Wikitext(維基文字,又稱Wiki標記式語言)是一種標記語言,各種功能透過標記(markup)來使用。在HTML和XML用語中,界定出文件中的元素的標記稱為標籤(tag),除此之外,標記還可以是字元參照、實體參照、註釋、DOCTYPE宣告等,亦即任何字元資料(亦即純文字)以外的原始碼皆為標記。Wikitext還沒有清晰的定義,規範化的工作還在進行中,哪些標記才是標籤還不清楚。此文暫時把轉換語法的標記稱為標籤。

手動轉換語法的轉換標籤的語法大致有以下幾種:

<!-- 不转换 -->
-{不转换的内容}-

<!-- 一般转换语法,*代表任一旗标 -->
-{*|zh-cn:大陆简体显示文字;zh-hk:香港繁體顯示文字;zh-mo:澳門繁體顯示文字;zh-my:大马简体显示文字;zh-sg:新加坡简体显示文字;zh-tw:臺灣正體顯示文字;}-

<!-- 单向转换 -->
-{*|原文字=>zh-cn:大陆简体显示文字;原文字=>zh-hk:香港繁體顯示文字;原文字=>zh-mo:澳門繁體顯示文字;原文字=>zh-my:大马简体显示文字;原文字=>zh-sg:新加坡简体显示文字;原文字=>zh-tw:臺灣正體顯示文字;}-

<!-- 组合转换 -->
-{zh;zh-hans;zh-hant|原文字}-

界定符號

界定(英語:delimit),或譯分界、分隔,大陸多譯作定界,指以界定符號/界定字元(英語:delimiter)指明出純文字或資料串流中分開的獨立區域之間的邊界。純粹的 delimiter 起語法作用,語義極弱,相當於自然人類語文的標點符號。標記語言因使用了各種明確的界定符號,便於人腦和電腦靜態分析而見長。「-{」、「}-」為界定出轉換標籤的界定符號。轉換標籤內的垂線「|」為分隔出旗標列表和對應(map)規則的界定符號。旗標列表內的「;」為分隔各個旗標的界定符號。

旗標

旗標(英語:flag),為一種語法構造,用於要求轉換標籤的可選行為或甚至改變轉換標籤的整個動作。分為一般旗標和語種旗標。當沒有在旗標列表中使用任何旗標,則為空旗標。現時轉換標籤所支援的一般旗標有A、H、T、D、R、N、-,和只用於轉換程序內部而無法以語法直接指定的S和+旗標。

沒有使用旗標列表

為沒有使用垂線分隔出旗標列表時的情況,依據是否能從轉換標籤的內容中剖析(英語:parse)出對應規則(英語:mapping rule)分為兩種處理方式。如果剖析出對應規則的話,則為S旗標轉換,即是尋常的顯示字詞轉換方式(S代表show,即「顯示」)。如果剖析不出任何對應規則的話,則為R旗標轉換,即是停用字詞轉換,顯示原文(R代表raw,即「原始」)。

空旗標

或稱空旗標列表,為當旗標列表留空,沒有使用任何一個標旗時的說法。處理方式跟沒有使用旗標列表一樣,只不過這時依據的是垂線右則的內容。如果垂線右則的內容剖析不出任何對應規則的話,則為R旗標轉換,即是停用字詞轉換,顯示原文。

原文

這裏指不使用轉換器的情況下會顯示出的版本。在維基百科編輯文章時在編輯器顯示的即為原始碼版本的原文。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-hans 簡體 ISO 15924代碼。「han」為「漢」字的普通話拼音的英文譯法,s為「Simplified Chinese」的首字母。
zh-hant 繁體 ISO 15924代碼。「han」為「漢」字的普通話拼音的英文譯法,t為「Traditional Chinese」的首字母。
zh-cn 大陸簡體 cn為中國(China,特指中國大陸)的ISO 3166-2國家地區代碼
zh-hk 香港繁體 hk為香港(Hong Kong)的國家地區代碼。
zh-mo 澳門繁體 mo為澳門(Macau)的國家地區代碼。
zh-my 大馬簡體 my為馬來西亞(Malaysia)的國家地區代碼。
zh-sg 新加坡簡體 sg為新加坡(Singapore)的國家地區代碼。馬來西亞跟新加坡原用「馬新簡體」模式涵蓋。
zh-tw 臺灣正體 tw為台灣(Taiwan)的國家地區代碼。

主語言代碼

原文main language code,簡稱main code。MediaWiki的每個字詞轉換器都有個主要語言代碼,做為回傳語種時最後的預設值,如果某個語種沒有設置後援語言,則也使用主要語言代碼做為它的後援語言。每個語種的維基百科所使用的語言代碼即為它的主要語言代碼,中文維基百科的為zh。另一方面,MediaWiki的某些語言版本,例如中文維基百科所使用的中文版,以主要語言代碼作為原文模式的語言代碼。

手動等級

後退


後援語言

當字詞轉換發現沒有某語種的全文轉換定義時,會查閱後援語種(英語:fallback language variant)的規則進行替補。

ZhConverter.phpgetVariantsFallbacks方法定義,各個語種的後援語種順序如下:

語種 後援語種
zh-hans zh-cn zh-sg zh-my
zh-hant zh-tw zh-hk zh-mo
zh-cn zh-hans zh-sg zh-my
zh-hk zh-mo zh-hant zh-tw
zh-mo zh-hk zh-hant zh-tw
zh-my zh-sg zh-hans zh-cn
zh-sg zh-my zh-hans zh-cn
zh-tw zh-hant zh-hk zh-mo

zh的後援語種則依序爲zh-hans、zh-hant、zh-cn、zh-tw、zh-hk、zh-sg、zh-mo、zh-my。

全文轉換

全語種全文轉換

語種旗標

Action

指轉換規則的動作。

Display

預設轉換表格

語法

基本語法

稱謂 功能 範例 備註
原始碼 輸出結果
雙向轉換 實現雙向轉換,可帶有轉換標籤,為手動轉換語法中最常用的功能
-{zh-cn:计算机; zh-sg:电脑; zh-my:电脑; zh-hant:電腦;}-
單向轉換 實現單向轉換,可帶有轉換標籤,主要用於新增全文轉換規則,比雙向轉換效率高
-{H|巨集=>zh-cn:;}-

测试:巨集、宏
單向轉換不帶繼承特性,如左例中「簡體」、「大馬簡體」、「新加坡簡體」並未轉換用詞。使用zh-hans亦只會應用到「簡體」而不會應用「大陸簡體」。
禁止字詞轉換 同時禁止繁簡和地區詞的轉換
-{简体字繁體字}-
這種寫法將完全禁止字詞轉換,在某些場合(如只需禁止地區詞轉換)或不適用
禁止地區詞轉換 禁止被切斷的地區詞轉換,但允許個別字之繁簡轉換
-{}-韓、北朝-{}-

(假定系統轉換表中有「北韓」和「北朝鲜」的對應規則)
還有另一種組合轉換標籤的方式也可以實現同樣的功能,並且便於在模板中使用,詳見後文

轉換標籤

常用標籤

-{A|...}-, -{H|...}- 的實際效用是從插入此標籤起新增這個規則,而 -{-|...}- 是從插入此標籤起刪除這個規則,僅在插入後才發生作用,並非真的從頭到尾全文轉換。因此{{NoteTA}}必須置於除標題外全部需要轉換的字詞之上,一般位於序言(及資訊框)之上,亦可簡單理解為文章開頭;不過,如欲消歧義頂註模板中相應字詞免遭轉換,則{{NoteTA}}應當置於消歧義頂註模板之下。User:Cewbot/log/20191129/configuration會嘗試將 -{A|...}-, -{H|...}-合併至{{NoteTA}}。

標籤 功能 範例 備註
原始碼 輸出結果
H 添加全文轉換規則,並隱藏H轉換文字
-{H|zh-cn:博客; zh-hk:網誌; zh-my:部落格; zh-tw:部落格;}-

测试:博客、網誌、部落格
「簡體」和「繁體」下並不會轉換用詞模式,而只會轉換純粹的簡繁體
A 添加全文轉換規則,並輸出A轉換解析文字
-{A|zh-cn:博客; zh-hk:網誌; zh-my:部落格; zh-tw:部落格;}-

测试:博客、網誌、部落格
注意和H轉換對比結果
- 移除全文轉換規則
-{H|zh-cn:博客; zh-hk:網誌; zh-my:部落格; zh-tw:部落格;}-

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

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

测试2:博客、網誌、部落格
測試1和測試2有差異
T 強制覆蓋頁面原有標題
-{T|zh-cn:宠儿 (电影); zh-hk:爭寵; zh-sg:真宠; zh-tw:真寵;}-

(假定頁面原始標題為「真寵」)

D 描述轉換規則
-{D|zh-cn:宠儿; zh-hk:爭寵; zh-sg:真宠; zh-tw:真寵;}-

組合轉換標籤

標籤 功能 範例 備註
原始碼 輸出結果
zh
zh-hans
zh-hant
zh-cn
zh-hk
zh-mo
zh-my
zh-sg
zh-tw
限制要顯示的語言的有效範圍[1]
-{H|zh-cn:博客; zh-hk:網誌; zh-my:部落格; zh-tw:部落格;}-

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

测试2:-{zh;zh-my;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 ,但程式作實上只是不轉換時的內容,即是預設的內容。)

參見