Skip to content

skyuns/MoE-Dict-Hybrid

Repository files navigation

MoE-Dict-Hybrid

《重編國語辭典修訂本》 x 《成語典》 整合檢索介面 📖 教育部雙辭典檢索系統 (Web 離線版)

📖 教育部雙辭典檢索系統 (Web 離線版)

《重編國語辭典修訂本》 x 《成語典》 整合檢索介面

這是一個純前端、輕量級且無需依賴後端伺服器的網頁版辭典應用程式。本專案將教育部釋出的《重編國語辭典修訂本》與《成語典》開放資料進行深度整合,提供極致流暢的「雙辭典同步檢索」體驗。

📂 檔案清單與功能說明

檔案名稱 類型 核心功能與適用環境
MoE-Dict-Hybrid.html 網頁 具名主程式檔。與 index.html 內容完全相同,一般使用者下載這個檔案即可。
index.html 網頁 主程式介面。支援 File System Access API 權限記憶,為 GitHub Pages 預設入口。
MoE_Dict_Search.jsee 巨集 EmEditor 自動化搜尋巨集。搭配 MoE-Dict-Hybrid.html,具備智慧授權引導功能。
MoE_Dict_Search.ico 圖示 巨集識別圖示。可用於 EmEditor 巨集按鈕。
MoE-Dict-Hybrid-web2.html 網頁 兼容版介面。採用 FileReader 邏輯,可在受限環境(如:Total Commander的Lister)下執行。

✨ 核心特色與功能

1. 📚 智慧雙顯介面 (Dual-Display System)

  • 動態空間分配:當查詢的詞彙同時存在於兩部辭典時,畫面會完美均分;若只有單邊收錄,系統會自動極大化該辭典的顯示空間。
  • 一鍵跳轉參見:詞條內的「相似詞」、「相反詞」、「多音參見」皆轉換為互動式標籤,點擊即可無縫跳轉,並自動記錄歷史瀏覽軌跡(支援上一頁/下一頁)。
  • 快捷反白檢索:在閱讀釋義時,滑鼠反白任何不懂的詞彙(1~10字),即可自動浮出「基本檢索」與「釋義檢索」快捷按鈕。

2. 🔍 全能檢索引擎

打破傳統只能查「字」的限制,支援多維度精準比對:

  • 萬用字元檢索:輸入 *黃花朝*暮*,支援模糊比對。
  • 拼音與注音檢索:支援整串注音比對(如 ㄓㄠ ㄙㄢ ㄇㄨˋ ㄙˋ)與漢語拼音(支援數字聲調轉換,如 zhao1)。
  • 部首與筆畫檢索:內建 214 康熙部首表,支援 火部 或精準的 火部5 (火部5畫)查詢,亦可直接輸入純數字查詢「總筆畫數」。
  • 深度釋義檢索(全文檢索):輸入 2 個字以上,可全文掃描兩部辭典的「釋義、典故說明、用法例句」,並自動高亮匹配的關鍵字。

3. 🛠️ 深度資料清洗與排版重構 (Data Cleansing)

針對教育部原始 CSV 資料庫中複雜且不統一的標記符號,本專案內建了強大的正規化解析器:

  • 全域符號切割對齊:自動辨識並處理混用的段落分隔符號(, &, , ),確保文獻名稱、古文內容與注解能「三位一體」完美對齊呈現。
  • 智慧編號與雜訊過濾:自動剔除原始資料中的 # 雜訊,並將內容的 *n* 標記自動轉換為上標圓圈編號(①②③...),消除無意義的空殼注解。
  • 詞性視覺化:將釋義中的詞性標記(如 [名], [動])提取並轉換為精美的視覺標籤。

4. ⚡ 兩種運行環境支援 (本地讀取架構)

為適應不同的開發與執行環境,本專案提供兩種載入策略:

  • 現代瀏覽器版:使用 File System Access API (IndexedDB 保存 Handle),使用者授權一次後,下次開啟即可「秒登」自動恢復辭典權限。
  • WebView2 / 兼容版:拔除高權限 API,採用純粹的 FileReader 配合 autoLoad 自動抓取同目錄下的 CSV 檔案,確保在 WebView2 或舊版瀏覽器中穩定運行。

📥 資料下載與載入說明

⚠️ 注意:本系統僅提供瀏覽與檢索介面,未內建任何辭典數據資料。請依照以下步驟自行下載教育部授權檔案:

《重編國語辭典修訂本》

  1. 前往下載:教育部國語辭典公眾授權網
  2. 下載 dict_revised_2015_20260325 文字資料庫 ZIP 檔。
  3. 解壓縮後,將 .xlsx 檔案用 Excel 開啟,另存新檔為 "CSV UTF-8 (逗號分隔)" 格式
  4. 於本系統點擊載入該 CSV 檔即可使用。

《成語典》

  1. 前往下載:教育部成語典公眾授權網
  2. 下載 dict_idioms_2020_20260324 文字資料庫 ZIP 檔。
  3. 解壓縮後,將 .xlsx 檔案用 Excel 開啟,另存新檔為 "CSV UTF-8 (逗號分隔)" 格式
  4. 於本系統點擊載入該 CSV 檔即可使用。

(本系統內建防呆機制,若匯入的 CSV 欄位不符,將自動阻擋並提示,保護程式不崩潰。)

🚀 技術演進:為什麼選擇轉為 CSV 方案?

本專案從早期的 XLSX + IndexedDB 架構,經與 Gemini 多次討論後,進化至目前的 CSV + File System Access API 架構。以下是 Gemini 針對效能、穩定性與「離線精神」的深度比對,說明為何「轉成 CSV」是最佳策略:

比較項目 XLSX + IndexedDB (早期方案) CSV + File System Access (目前方案)
啟動速度 。初次使用程式需要一些時間將 XLSX 轉成快取,且瀏覽器需將數十萬筆物件從資料庫「反序列化」至記憶體,CPU 負擔重。 。原生 split() 字串切割是 JS 最基礎的運算,十幾萬筆資料僅需不到 1 秒。
磁碟空間占用 數百 MB (大)。原始辭典資料轉為 JSON 後,因結構化標籤與索引,體積會膨脹 4-5 倍並吃掉大量快取空間。 。瀏覽器僅儲存「檔案鑰匙 (Handle)」,除了辭典檔案,不額外複製資料內容,空間占用小。
第三方依賴 重度依賴。必須連網載入 xlsx.full.min.js 解析引擎(體積約 1MB)。 零依賴。完全使用瀏覽器內建原生 API,代碼極簡且透明。
離線完整性 受限。即便下載 JS 檔至本地,瀏覽器每次啟動仍需額外解析 1MB 的複雜腳本。 100% 純粹。只要一個 HTML 檔 (75KB) 即可運作,是真正的 Web 離線系統。
系統穩定性 較低。在低階電腦上,大規模資料寫入 IndexedDB 時有機會導致分頁閃退。 較高。串流式讀取純文字,記憶體占用受控且穩定。

⚖️ 授權聲明

  • 程式碼部分:由作者開發並保留所有權。
    • 歡迎個人、教學或學術性質的非營利使用。
    • 請勿將本程式用於任何商業營利目的。
  • 辭典資料部分:版權歸 中華民國教育部 所有。
    • 資料採用「創用CC-姓名標示-禁止改作 臺灣3.0版授權條款」。
    • 使用時請遵守教育部規範,不得修改條目內容或轉為簡化字。
    • 請完整保留系統內的授權說明與版本資訊。

About

《重編國語辭典修訂本》 x 《成語典》 整合檢索介面 📖 教育部雙辭典檢索系統 (Web 離線版)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages