「本土語分班配對系統」v2.6 方向跟你想像的不一樣 — 不是「閩客原 3 班分 9 組的演算法工具」,而是處理「升年級重新編班後,舊本土語選修資料怎麼映射到新班級」的 Excel 解析配對工具(學生選的語別不變但班級座號全變了)。
🎯 核心特色
- 🇹🇼 5 種語別全支援 — 閩南語 / 客家語 / 原住民語 16 族細分(阿美 / 泰雅 / 布農 / 排灣 / 賽夏 / 太魯閣 / 賽德克 / 卑南⋯)/ 新住民語 7 國(越南 / 泰 / 印尼 / 柬埔寨 / 緬甸 / 馬來西亞 / 菲律賓)/ 台灣手語 ✋(容易被遺漏!)
- 📊 吃學校慣用的「一頁多班、多語別矩陣」Excel — 解析器靠「班級:/ 語別:/ 編號」三個錨點 + 資料驅動 pair 偵測自動對齊,學生「葉帥廷(阿美)」自動去括號 + 判定族語細分阿美族
- 🔍 姓名兩階段配對 — 第一階段精確比對;第二階段 Levenshtein 編輯距離=1 + 同字串長度模糊比對(強制同長度避免「王小」誤配「王小明」),多候選不自動配強制人工介入
- 🚦 6 種狀態分層警示 — ✅ 精確 / 🟡 疑似 / 🟠 多候選 / 🔴 完全未配對 / 🟢 班級異動 / ⚪ 無異動
- 🎉 配對率健康度(v2.6 神細節) — < 50% 強制 modal、< 80% 匯出二次確認、100% 觸發 canvas-confetti 煙火 🎉
- 🧹 5 種資料品質 lint — 座號重複 / 姓名異常 / 非中文字元 / 班級人數 / 座號跳號
- 🔢 班級格式正規化 —
3年1班/3-1/3_1/301/ 國字年級 / 全形數字全收 - 📤 雙格式 Excel 匯出 — A 平面對照表 + B 矩陣名單(沿用原檔格式按新班級分組 + 三段附錄)
💡 設計理念
單檔 HTML index.html 約 172 KB / 185 KB + 純 vanilla JS(所有 CSS + JS inline)無 build step,唯一依賴 xlsx@0.18.5(SheetJS)+ CDN canvas-confetti@1.9.3 + Google Fonts Noto Sans TC。100% 本機運算屬實:純 file:// 開 index.html 也能跑,學生姓名 / 座號不會上傳任何伺服器。PWA 就緒 70%(有 manifest + favicon / OG / Apple / Android icons,但還沒 Service Worker)+ 5 個 Node.js 端到端測試 + 深色模式(prefers-color-scheme + localStorage 記憶)+ color-mix() / backdrop-filter 現代 CSS + 6 組鍵盤快捷鍵 + 列印模式(Ctrl+P 每班一張)+ LocalStorage 72 小時記憶。兩天衝 6 個版本:v1.0 → v2.6 共 44 項,部署 cagoooo.github.io/local/,作者署名「桃園市某國小資訊教師」。石門國小實測:全校 6 年級分組從 2-3 天 → 30 分鐘、跨班衝堂錯誤從 3-5 個 → 0、教務組長加班從 20+ 小時 → 2 小時。
🎒 適合情境
- 國中小教務組長 / 本土語召集人
- 本土語兼任老師(閩 / 客 / 原 / 新住民語)
- 跨校巡迴本土語老師
- 想推動雙語 / 多語教學的校長
配對 #51 自動排課系統 排課最強組合、#49 教務處寶藏庫 學生資料 / 語別建檔。開學前一個月就讓家長填表 → 跑一下分組 → 整學期穩穩到底。MIT 授權,cagoooo/local 開源。