說明:繁簡處理/技術方案

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

這個頁面主要用來記錄如何從技術上解決繁簡體問題的一個備忘錄。討論請在對話頁進行。

現在大家一致同意通過程序腳本從伺服器端自動轉換繁簡體,這涉及到對mediawiki軟件的許多修改,以及兼容性。

系統介面

現在可以先解決系統介面的繁簡體問題。現在已經有了LanguageZh.php(簡體介面,也是當前的系統介面),m:LanguageZh-tw.php(繁體介面,可能需要做一些修改,兼容簡體版本),Special:Allmessages可以定製系統介面。需要對程序作一些修改,同時確定繁簡體用戶的識別機制(偏好設定,匿名用戶等),並且在Special:Allmessages中生成一個繁體的MediaWiki:命名空間。MediaWiki:命名空間中的內容不做繁簡轉換。完成這一步之後,解決內容的繁簡體問題應該更輕鬆一些。因為已經對程序有了一定的認識,對繁簡體轉換中涉及的一些基礎工作(例如繁簡用戶的檢測)也有了一定的基礎和經驗。

跨語言連結

  1. 如何實現與以前的跨語言連結的兼容性?(中文版的解決方案,其他語言版本的解決方案)
    1. 先行逐字作繁簡轉換。
    2. 若有關漢字有多於一個對應,以最大分詞法選取最大長度的詞語,然後再從詞語對照表中尋找翻譯。
    3. 沒有對應的,以最常見的對應頻率為優先。
    4. 翻譯後應把文章的字頻雙字頻記錄在數據庫,以作為日後翻譯的數據依歸。
  2. 跨語言連結的方式
    1. 在中文版
      1. 如果檢測為簡體用戶,則自動產生一個zh-hant:的繁體跨語言連結,反之亦然。
      2. 如果簡體用戶點擊zh-hant:的跨語言連結,則顯示繁體版本,並有一個zh-hans:的簡體跨語言連結,反之亦然
    2. 在其他語言版本,有兩種方式可選
      1. 例如在英語版,一個用戶添加了一個zh:的跨語言連結,顯示時系統自動產生zh-hans:和zh-hant:兩個跨語言連結。如果用戶添加的是zh-hans:或zh-hant:同樣如此處理。點擊zh-hans:或zh-hant:進入相應的繁簡版本
      2. 無論用戶添加zh:,zh-hans:或zh-hant:,顯示則只有一個到中文版的跨語言連結,點擊該連結,根據系統的判斷決定顯示繁體或簡體其中一個版本。
      • 前一種方法似乎比較簡單,而且對於讀者來說有更大的靈活性。
      • 測試過測試站點,可以在用戶參數中變更介面語言和轉換語言,但是速度有些慢,還有,應該留下一個不用轉換的選項,原來是簡體的顯示為簡體,原文為繁體的顯示成繁體,有時候這樣可能更好一些。

繁簡字對照表

  1. 一些特殊繁簡體漢字的轉換。參看wikipedia:中文繁簡體對照表
  2. Unicode 4.0標準中的繁簡轉換數據。參看wikipedia:Unihan繁簡體對照表

繁簡詞對照表

可以有兩類對應關係:

  1. 同一個詞,對應的字不同。如「专业<=>專業」,「电话<=>電話」;
  2. 同一個概念,不同的說法。如「克罗地亚<=>克羅埃西亞」,「打印机<=>印表機」。

對於第一種情況,我們只需考慮包含一對多的單字的詞。如「專業」無需包含在轉換表中,因為「專」和「業」都只有唯一的繁體對應。但「餅乾」則要列在表中,因為「干」可對「乾」或 「幹」。因此,簡繁表可以這樣構造:搜集一個較全面的繁體詞彙表,把包含簡繁一對多的繁體字(缺省對應除外)的詞找出來,然後翻譯成簡體。繁簡表亦然。見wikipedia:簡繁詞表wikipedia:繁簡詞表

對於第二種情況,當然所有詞都要包含。以後更新的對應表主要應該是增加這類詞。見wikipedia:繁簡分歧詞表

數據庫

  • 使用同一個數據庫(裡面包含了簡體和繁體的混合數據,介面顯示的是根據用戶選擇後的語言通過軟件轉換成繁體或簡體)。

繁簡體用戶的識別

  1. help:偏好設定上的修改,用戶可以自訂顯示繁簡體
  2. 匿名用戶(通過對ip訪問檢測解決?)
  3. 通過檢測瀏覽器的語言選項來實現

不自動轉換的漢字

出於特殊的需要,個別漢字可以不進行自動繁簡轉換。使用-{文字}-來表示不進行繁簡轉換的漢字,以及-{zh-hans:简体;zh-hant:繁体}-進行手工轉換。

測試站

請到http://s87257573.onlinehome.us/wiki/測試。目前測試站採用上述基於Unihan數據庫的繁簡字轉換,以及從SCIM輸入平台獲取的詞表所做的詞的轉換表來進行自動轉換。手工轉換使用上述標記。

轉換表校對工作

請大家到Wikipedia:繁簡處理/轉換表校對工作幫忙校對轉換表!

相關技術方案

如果想把mediawiki軟件的繁簡處理技術整合到你的 PHP 程式中,可以參考http://code.google.com/p/mediawiki-zhconverter/