Skip to content

skyuns/EmEditor-OpenCC-Macro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EmEditor-OpenCC-Macro

這是一個專為 EmEditor 打造的繁簡轉換巨集,核心轉換邏輯與詞庫基於強大的開源專案 OpenCC (Open Chinese Convert)。这是一个专为 EmEditor 打造的繁简转换宏,核心转换逻辑与词库基于强大的开源项目 OpenCC (Open Chinese Convert)。

OpenCC for EmEditor Macro

這是一個專為 EmEditor 打造的繁簡轉換巨集,核心轉換邏輯與詞庫基於強大的開源專案 OpenCC (Open Chinese Convert)

这是一个专为 EmEditor 打造的繁简转换宏,核心转换逻辑与词库基于强大的开源项目 OpenCC (Open Chinese Convert)

為什麼開發這個巨集? / 为什么开发这个宏?

身為 EmEditorOpenCC 的十年以上資深用戶,這兩個工具早已是我日常不可或缺的一部分。EmEditor 始終是我處理大型文字檔案的首選,其流暢度遠超其他編輯軟體,為此我多年前便已購入永久授權。 而 OpenCC 在繁簡轉換上表現極佳,最吸引我的地方在於其詞庫具備高度的可自訂性,多年來我也持續將個人累積的詞條直接加入其中。相對於其他轉換程式,OpenCC 易於修改與擴充的靈活性是其最大的優點。

雖然 EmEditor 是極為強大的文字編輯器,但其提供的繁簡轉換外掛在處理「一對多」歧義字(例如:里/裡)時有所不足。本專案旨在將 OpenCC 的精確轉換能力導入 EmEditor,解決用戶在繁簡轉換上的問題。

作为 EmEditorOpenCC 的十年以上资深用户,这两个工具早已是我日常不可或缺的一部分。EmEditor 始终是我处理大型文本文件的首选,其流畅度远超其他编辑软件,为此我多年前便已购入永久授权。 而 OpenCC 在繁简转换上表现极佳,最吸引我的地方在于其词库具备高度的可自定义性,多年来我也持续将个人积累的词条直接加入其中。相对于其他转换程序,OpenCC 易于修改与扩充的灵活性是其最大的优点。

虽然 EmEditor 是极为强大的文本编辑器,但其提供的繁简转换外挂在处理“一对多”歧义字(例如:里/裡)时有所不足。本项目旨在将 OpenCC 的精确转换能力导入 EmEditor,解决用户在繁简转换上的问题。

開發計畫 / 开发计划

  • 建立基於 OpenCC 的精確單字轉換邏輯 (Characters) / 建立基于 OpenCC 的精确单字转换逻辑
  • 整合完整詞組比對功能 (Phrases) / 整合完整词组比对功能
  • 支援台灣標準字形修正 (TWVariants) / 支持台湾标准字形修正

授權與特別感謝 / 授权与特别感谢 / Licenses & Special Thanks

授權協議 / 授权协议 / License

  • 詞庫數據來源 / 词库数据来源OpenCC
  • 授權協議 / 授权协议:遵循 OpenCC 之 Apache License 2.0

特別感謝 / 特别感谢 / Special Thanks

  • BYVoid (郭家寶先生 / 郭家宝先生)
    • 特別感謝其對於中文資訊處理與開源社群的卓越貢獻。
    • 特别感谢其对于中文信息处理与开源社区的卓越贡献。
  • Yutaka Emura (江村 豊 先生)
    • 特別感謝 EmEditor 作者江村先生。在巨集開發過程中,江村先生針對介面同步與效能優化提供了關鍵的技術指導,並感謝其開發出如此卓越的編輯工具。
    • Special thanks to the creator of EmEditor for his invaluable technical guidance on macro development and UI synchronization.

功能說明 / 功能说明

.jsee 腳本與對應的 .ico 圖示放在同一個目錄(例如 My Macros 資料夾),即可在 EmEditor 中顯示專屬圖示。

檔案名稱 / 文件名称 圖示 / 图标 說明 / 说明
T2S.jsee T2S.ico 繁體 ➔ 簡體:轉換為簡體。 / 繁体 ➔ 简体:转换为简体。
S2T.jsee S2T.ico 簡體 ➔ 繁體:轉換為繁體(台灣常用字體)。 / 简体 ➔ 繁体:转换为繁体(台湾常用字体)。
S2TE.jsee S2TE.ico 簡體 ➔ 繁體 (擴充版):含非官方擴充詞庫。 / 简体 ➔ 繁体 (扩充版):含非官方扩充词库。
S2TWP.jsee S2TWP.ico 大陸用語 ➔ 台灣用語:維持繁體,僅校正用語。 / 大陆用语 ➔ 台湾用语:维持繁体,仅校正用语。
TW2SP.jsee TW2SP.ico 台灣用語 ➔ 大陸用語:維持繁體,僅校正用語。 / 台湾用语 ➔ 大陆用语:维持繁体,仅校正用语。

⌨️ 鍵盤熱鍵功能對照表 (v0.24)

熱鍵 功能描述
Ctrl 模擬模式:不修改原文,將轉換結果輸出至內建網頁瀏覽器 WebBar 並與線上翻譯進行彩色比對。模擬模式每次上限 200 字。
Alt 忽略字形:跳過台灣常用異體字轉換 (TWVariants)。
Shift 純淨模式:僅使用標準詞組與單字,忽略自訂擴充、台灣字形修正及例外清單。

模擬模式參考畫面 模擬模式

效能評測參考 / 性能评测参考

測試環境:1GB 檔案 / 約 600 萬行 / 繁體轉換為簡體,共轉換約 38,000,000 處。(v0.20 之後,轉換速度再次提升。)

轉換工具 / 转换工具 執行方式 / 执行方式 耗時 / 耗时 備註 / 备注
EmEditor 官方外掛 點選 外掛 約 1 秒 速度最快,但僅限單字轉換,且篩選模式下行序易亂。
本專案巨集 (T2S.jsee) 點選 巨集 約 32 秒 含詞組轉換且不亂序,適合編輯環境直接使用。
opencc-1.0.5 命令行 (CLI) 約 55 秒 須離開編輯環境操作,輸入命令行指令,不方便。
OpenCC.NET.GUI 圖形介面批量轉換 3 分 50 秒 適合多檔案處理,單一檔案操作較繁瑣。

工具差異分析 / 工具差异分析

  1. OpenCC 官方網頁版 / 官方网页版: 詞庫最為標準,適合處理少量文字。在處理較長的文字時,網頁會顯示文字內容過長的提示限制,且頻繁複製貼上較為低效。

  2. GUI 圖形介面與命令行版 / 图形界面与命令行版: GUI 適合一次性批量處理多個檔案;CLI 則適合自動化腳本。兩者在編輯過程中若需轉換部分段落,皆需在不同軟體間切換畫面。

  3. EmEditor 內建外掛 (dll) / 内置插件 (dll): 轉換速度極快(約1秒),但缺點是僅支援單字對映,無法處理需依語境判斷的詞組,且部分單字也不能轉換,如「後/后」等。此外,在「篩選模式」下執行可能導致行順序錯亂。


本巨集優點與技術特點 / 本宏优点与技术特点

本巨集旨在整合詞組轉換能力,並優化在編輯器環境下的使用穩定性:

  • 穩定不亂序 / 稳定不乱序: 在「篩選模式 (Filter)」或「多段選取」或「CSV 儲存格模式」狀態下執行,可精準轉換文字且確保順序不變。

  • 大檔案防護處理 / 大文件防护处理

    • 行數限制:預設選取範圍上限為 1,500 萬行,避免超量操作導致當機。
    • 分段處理:根據選取的範圍,自動切換為 50/20/5 段進行分塊轉換,降低 V8 引擎記憶體負擔。EmEditor v26.1+ 則自動依照選取大小來分塊。
    • 單行排雷:自動攔截單行內容超過 50MB 的超長單行文字。
    • 實測效能:目前實測 4GB 檔案轉換可正常運作。但為了兼顧效能較低的電腦不當機,目前選取上限保守設定為 15 億字元 (約 3GB)。

🔤 單字轉換率比對 (Character-Level Accuracy Comparison)

說明:本測試採「單字對單字」之轉換比對,不包含雙字以上之詞彙轉換,係因 EmEditor 內建 DLL 僅支援單字層級之轉換,故僅測試單字。

Note: This comparison is based on character-by-character conversion only (excluding multi-character phrases), as the built-in DLL does not support phrase-level translation.

1. 簡轉繁測試 (STCharacters.txt)

執行工具 轉換率 成功轉換 總計字數 備註
S2T.jsee (巨集) 99.75% 3970 3980 因預設使用 TWVariants.txt 標準,例如:「吃」不轉為「喫」。按住 Alt 關閉字形後,可達 100%。
內建 DLL 外掛 53.64% 2135 3980 ToTraditionalChinese.dll

2. 繁轉簡測試 (TSCharacters.txt)

執行工具 轉換率 成功轉換 總計字數 備註
T2S.jsee (巨集) 100.00% 4113 4113 無任何遺漏。
內建 DLL 外掛 56.63% 2329 4113 ToSimplifiedChinese.dll

🛠️ 功能支援度比對 (Feature Matrix)

功能特性 S2T/T2S 巨集 (v0.22) 內建 DLL 外掛
標準選取轉換 ✅ 支援 ✅ 支援
(Ctrl) 多段選取 ✅ 支援 ✅ 支援
(Alt) 垂直選取 ✅ 支援 ❌ 不支援
篩選模式 (單行) ✅ 支援 ✅ 支援
篩選模式 (選取多行) ✅ 支援 ⚠️ 行序會亂掉
CSV 儲存格模式選取 ✅ 支援 ❌ 不支援
儲存格編輯列 (局部選取) ✅ 支援 ✅ 支援

👉 查看詳細更新日誌 (CHANGELOG.md)


  • 開發心得 / 开发心得: 幾年前,要在 EmEditor 局部轉換文字檔裡面的文字,像是 .lrc 歌詞檔,我都要切換視窗去繁簡轉換的網站,或是貼到 Word 轉。CSV 處理也一樣,因為官方 DLL 不支援 CSV 模式,我又要開 Excel 貼過去轉,當然微軟有時轉得也不如人意。至於文字檔的全檔轉換,要在「命令提示字元」視窗,就是長得像 DOS 那個,靠指令操作:opencc -i -o -c...,說實話不方便。

    我其實不懂複雜的程式語言,只有以前學校教的一點概念。近年 AI 興起,EmEditor 程式內就能直接跟 AI 對談,不用另外開瀏覽器,很方便。這個巨集就是用 EmEditor 跟 Gemini 一起開發的,我主導開發方向與功能邏輯,Gemini 則是我的技術代筆,負責將我的構想落實為程式碼,圖示也是 AI 做的,連放上 GitHub、寫這些 README、CHANGELOG...都是 AI 協助完成。我負責構想、出主意,經過多次討論修改,就是現在這個樣子,完全照我的需求打造,符合我日常繁簡轉換的應用。

    希望對大家也有幫助。


About

這是一個專為 EmEditor 打造的繁簡轉換巨集,核心轉換邏輯與詞庫基於強大的開源專案 OpenCC (Open Chinese Convert)。这是一个专为 EmEditor 打造的繁简转换宏,核心转换逻辑与词库基于强大的开源项目 OpenCC (Open Chinese Convert)。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors