《重編國語辭典修訂本》 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~10字),即可自動浮出「基本檢索」與「釋義檢索」快捷按鈕。
打破傳統只能查「字」的限制,支援多維度精準比對:
- 萬用字元檢索:輸入
*黃花或朝*暮*,支援模糊比對。 - 拼音與注音檢索:支援整串注音比對(如
ㄓㄠ ㄙㄢ ㄇㄨˋ ㄙˋ)與漢語拼音(支援數字聲調轉換,如zhao1)。 - 部首與筆畫檢索:內建 214 康熙部首表,支援
火部或精準的火部5(火部5畫)查詢,亦可直接輸入純數字查詢「總筆畫數」。 - 深度釋義檢索(全文檢索):輸入 2 個字以上,可全文掃描兩部辭典的「釋義、典故說明、用法例句」,並自動高亮匹配的關鍵字。
針對教育部原始 CSV 資料庫中複雜且不統一的標記符號,本專案內建了強大的正規化解析器:
- 全域符號切割對齊:自動辨識並處理混用的段落分隔符號(
+,&,&,◎),確保文獻名稱、古文內容與注解能「三位一體」完美對齊呈現。 - 智慧編號與雜訊過濾:自動剔除原始資料中的
#雜訊,並將內容的*n*標記自動轉換為上標圓圈編號(①②③...),消除無意義的空殼注解。 - 詞性視覺化:將釋義中的詞性標記(如
[名],[動])提取並轉換為精美的視覺標籤。
為適應不同的開發與執行環境,本專案提供兩種載入策略:
- 現代瀏覽器版:使用
File System Access API(IndexedDB 保存 Handle),使用者授權一次後,下次開啟即可「秒登」自動恢復辭典權限。 - WebView2 / 兼容版:拔除高權限 API,採用純粹的
FileReader配合autoLoad自動抓取同目錄下的 CSV 檔案,確保在 WebView2 或舊版瀏覽器中穩定運行。
- 前往下載:教育部國語辭典公眾授權網
- 下載
dict_revised_2015_20260325文字資料庫 ZIP 檔。 - 解壓縮後,將
.xlsx檔案用 Excel 開啟,另存新檔為 "CSV UTF-8 (逗號分隔)" 格式。 - 於本系統點擊載入該 CSV 檔即可使用。
- 前往下載:教育部成語典公眾授權網
- 下載
dict_idioms_2020_20260324文字資料庫 ZIP 檔。 - 解壓縮後,將
.xlsx檔案用 Excel 開啟,另存新檔為 "CSV UTF-8 (逗號分隔)" 格式。 - 於本系統點擊載入該 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版授權條款」。
- 使用時請遵守教育部規範,不得修改條目內容或轉為簡化字。
- 請完整保留系統內的授權說明與版本資訊。