維基百科:字詞轉換處理/公共轉換組

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

對於一些主題、領域相同和相似的條目,其中需要被轉換的內容是大同小異的,可以把這些多個條目中要用到的共同轉換字詞單獨建立一個轉換組。藉由在頁面的{{NoteTA}}模板中指定組名,啟動該頁應用這一公共組的地區詞轉換,所有應用該公共轉換組的頁面都可以不用單獨維護,達成同步維護的目的。公共轉換組的方便程度處於全域轉換與全文轉換之間,而過度轉換程度也處於這兩者之間。

必須注意的是,使用公共轉換組時應避免繁簡混雜、或以繁/簡體打出簡/繁體用詞,例如「朝鮮/北韩」(此處特指平壤政權)、「視頻/视讯」(名從主人的專有名詞除外)、「操作系統/作业系统」等,那麼系統可能無法作出正確的轉換。如果為單純繁簡轉換較可能成功,但使用繁體打出簡體詞彙(或反之),則轉換通常註定失敗,尤其後者的情況基本上屬於繁簡破壞的一種。

說明

建立一個公共轉換組時,要依據這一組大多數詞彙在多個條目中被轉換的可能性,而不應依據轉換詞彙的類別。比如,各國現任領導人的姓名轉換,存在複用的可能性非常低,就不應當建立這樣類別的公共組。

公共組轉換中的轉換內容可由普通使用者所控制,而它所影響到的範圍也沒有全域轉換這麼大。公共組轉換甚至可以用來填補在全域轉換中受限制的二字轉換。一個典型的例子是「數位=>数码」的轉換:對於全域轉換來說,在非電腦和資訊科技相關的條目中,「數位」的後側極有可能會搭配「人士」並組成「數位人士」一詞,這樣便會導致「数码人士」的過度轉換結果產生。然而,在電腦和資訊科技的公共組轉換中,所涉及到的條目大多是技術類型的條目,其中有許多本來就應該被轉換的「數位」詞語,同時,技術性的內容也導致「數位人士」的用法幾乎不會出現。

Lua版建立

你可以隨時建立公共轉換組。在應用noteTA模板時,如果需要的公共轉換組還不存在,直接在G1參數填寫這個轉換組名稱並儲存。應用該noteTA模板的頁面就會在轉換說明中自動出現一個提示,點擊提示中的連結並依照提示即可建立它。

也可以直接在下方填入組名後建立,但名稱不可以是doceditintrolistpreload,然後就可以在noteTA模板組參數中使用了。

新組建立後,請順便添加到公共組的列表中。 新組建立後先以以下方式註明公共轉換組名稱:

-- 用法: Item('原文', '轉換規則')
local Item = require('Module:CGroup/core').Item;

return {

name = '(假設該頁叫 Module:CGroup/xxx 那此處就填入 xxx 以此類推)',
description = '(公共轉換組描述,若是從模板轉來的直接使用模板來的描述)',
content = {

接著在content = {以下開始輸入字詞轉換規則。

每條字詞轉換規則的傳統寫法如下:

{ type = 'item', original = '原文', rule = 'zh-cn:大陆简体;zh-my:大马简体;zh-sg:新加坡简体;zh-tw:臺灣正體;zh-hk:香港繁體;zh-mo:澳門繁體;' },

其中original表示原文,rule為用於全文轉換的規則。兩者皆僅可用字串,否則會造成機器人無法辨識。

如果要加入額外的文字加以說明,可以另起一行輸入:

{ type = 'text', text = [=[
== 標題文字 ==
注解一
]=] },
--以上格式可避免與維基代碼 [[ ]] 發生衝突
--還可以在開頭使用兩個橫槓(--)來注解
--或是在每條轉換後使用兩個橫槓(--)來注解
--此處填入字詞轉換規則
{ type = 'item', original = '原文', rule = 'zh-cn:大陆简体;zh-my:大马简体;zh-sg新加坡简体;zh-tw:臺灣正體;zh-hk:香港繁體;zh-mo:澳門繁體;' }, -- 註解二
{ type = 'text', text = [[
注解二
]] },

另外,部分符號及維基代碼在模組中可能會被當成代碼解析而出錯,如遇此情況,可以考慮換成標準HTML代碼。

{ type = 'item', original = 'Hund's Rule' , rule = 'zh-cn:洪德规则; zh-tw:洪德定則;' },
{ type = 'item', original = '<i>Fortune</i>', rule = '財星=>zh-cn:财富;財星=>zh-hk:財富;財星=>zh-mo:財富;' },

也可以使用反斜線避免

{ type = 'item', original = 'Hund\'s Rule', rule = 'zh-cn:洪德规则; zh-tw:洪德定則;' },
{ type = 'item', original = '\'\'Fortune\'\'', rule = '財星=>zh-cn:财富;財星=>zh-hk:財富;財星=>zh-mo:財富;' },

結尾時須要輸入:

},
}

如果original、rule等屬性的內容包含單引號'而無"(雙引號),可以單獨將兩側的引號換成雙引號而避免使用難看、影響頁內尋找的反斜線。

如果需要,可以使用description(或簡寫desc)屬性向讀者提供該條規則的說明,說明會顯示在「NoteTA檢視器」小工具的提供內容中。不過因為路徑很深、不太常用,絕大多數讀者可能不會注意到,而對於編者,在公共轉換組原始碼中以Lua註解(--開頭)表示可能是個好主意。

簡潔寫法

基於2021年3月在Wikipedia:互助客棧/技術進行的討論,目前絕大多數公共轉換組已使用一個輔助函式(語法糖)簡化規則的內容,避免大量的重複定義影響原始碼版式和干擾閱讀。常用的輔助函式如下:

local Item = require('Module:CGroup/core').Item;

-- Item(o, r)
o
original,原文。僅可用字串,否則會造成機器人無法辨識。若無此屬性,應使用nil而非空字串(''),空字串在Lua語言中的if語句判斷時為真,這會導致NoteTA檢視器顯示一個「原文:」。
r
rule,用於全文轉換的規則,必填。僅可用字串,否則會造成機器人無法辨識。

描述請用註解代替。

如有必要,您仍可在轉換組中使用上文提到的傳統寫法。

須注意因處理 Wikipedia:字詞轉換處理/公共轉換組/* 的cewbot採用JavaScript來解析lua,採用特殊語法將造成機器人無法辨識。

別名

因為CGROUP名稱區分繁簡體、地區詞和大小寫,對於未建立的不同變體或大小寫,NoteTa會提示「尚未創建」,添加別名以方便在{{noteTA}}的參數中使用。

假設你已建立了一個名為XXX的公共轉換組,如果要建立別名YYY,只需要建立一個[[Module:CGroup/YYY]]的頁面,並輸入以下文字即可:

return require( 'Module:CGroup/XXX' );

別名建立後,在{{noteTA}}裡組參數呼叫別名與呼叫組名效果是一樣的。上例中{{noteTA|G1=YYY}}等同{{noteTA|G1=XXX}}

可以使用正規表示式將原本條目裡面的noteTA快速取代成LUA格式,將[|][0-9]*[=]((.)*)\n取代成{ type = 'item', rule = '$1', original = ' ' },其中original留空白是給取代完成後填入原文的。然後將其填入公共轉換組裡面。

模板轉模組則是把{{Cl\|((.)*)}}取代成{ type = 'item', rule = '$1', original = '   ' },以及<noinclude>(.*)</noinclude>取代成{ type = 'text', text = [=[$1]=] },

維護公共轉換組

部分較舊和轉換數量少的公共轉換組仍使用模板的方式維護,以下僅供模板維護的參考。

  • 注意:模板版使用mediawiki的頁巢狀原理實現,轉換組頁面命名空間為「Template」,並作為Template:CGroup的子頁;Lua版使用mediawiki的Lua模組實現,轉換組頁面命名空間為「Module」,並作為Module:CGroup的子頁。兩者並不相同,不可對調使用。

模板式轉換組在包含狀態下(移除noinclude,包括includeonly)應使用以下代碼:

  • 第一行為{{CGroupH}}模板,其name參數為轉換組的頁面名(CGroup/後的部分),desc參數為轉換組名字(顯示用)。
  • 隨後每行有且僅有一個{{CItemHidden}}或其他等效模板,如{{CItem}}(目前重新導向到{{CItemHidden}})、{{CItemLan}}等,描述一條轉換規則,其間不應有多餘的文字或空行。
  • 最後以{{CGroupF}}結束。

所有不需顯示的輔助資訊,如參考分章節等,請使用<noinclude></noinclude>包裹。

Wikipedia:字詞轉換處理/公共轉換組/各頁面包含字詞

轉換組名單