繁簡轉換(台灣正體)
自用的繁簡轉換網頁。目標是取代目前在用的 ifreesite 繁簡轉換,
只保留「繁簡轉換」功能,並修正它「簡轉繁」時常見的錯字問題。
需求
核心需求
- 簡體 → 繁體(台灣正體):這是主要用途,轉換結果要符合台灣的用字習慣。
- 繁體 → 簡體:附帶功能,有即可。
- 只要繁簡轉換:不需要原網站的其他功能(GBK/Big5 編碼轉換、火星文、注音等都不要)。
要解決的問題:一簡對多繁的錯誤轉換
原網站是「逐字」轉換,遇到一個簡體字對應多個繁體字時會轉錯。例如:
| 簡體 | 原網站轉出(錯) | 正確(台灣) |
|---|
| 复仇 | 覆仇 | 復仇 |
| 病症 | 病癥 | 病症 |
| 沉默 | 沈默 | 沉默 |
正確的做法是以詞彙為單位轉換(先比對詞組,再處理單字),而不是逐字替換。
不轉換用語
只轉字形,不把大陸用語換成台灣用語(例:软件 → 軟件,而不是 軟體),
因為有些文章的語境需要保留大陸用語,不能一概轉換。
需要個別替換的詞,可以用自訂修正詞典處理。
目前的做法(初版)
- 純前端靜態網頁:
index.html + style.css + app.js,直接用瀏覽器打開即可,不需要伺服器。
- 轉換引擎使用 opencc-js(OpenCC 的 JavaScript 版本),從 CDN 載入:
- 簡 → 繁:
from: 'cn', to: 'tw'(台灣字形,不轉用語)
- 繁 → 簡:
from: 'tw', to: 'cn'
- OpenCC 是以詞典做「最長詞優先」比對,可以正確處理上面的 復仇 / 病症 / 沉默。
- 自訂詞典:遇到 OpenCC 也轉錯的詞,可以在頁面上自己新增「錯誤 → 正確」的修正規則,存在瀏覽器的 localStorage,轉換後自動套用。
- 功能:單一文字框(仿 ifreesite 版面)、轉換為繁體 / 轉換為簡體、清除、復原、複製、字數統計(不計空白)、深色 / 淺色模式。
- 大量文字:可處理 15 萬字以上。只在按按鈕時轉換、關閉拼字檢查、字數統計延遲計算,避免貼上大量文字時網頁卡住。
檔案結構
zh-converter/
├── README.md ← 本文件(需求與說明)
├── index.html ← 頁面
├── style.css ← 樣式
└── app.js ← 轉換邏輯、自訂詞典
使用方式
用瀏覽器直接打開 index.html(需要連網載入 opencc-js)。
或在 VS Code 安裝 Live Server 擴充功能,對 index.html 按右鍵 → Open with Live Server。
之後可以改進的方向(待辦)