Skip to content

Latest commit

 

History

History
463 lines (364 loc) · 19 KB

File metadata and controls

463 lines (364 loc) · 19 KB

更新日誌

所有重要的項目更改都會記錄在此文件中。

格式基於 Keep a Changelog, 並且本項目遵循 語義化版本.

[3.3.2] - 2026-07-10

🔧 修復 / Fixed

  • 模塊開關失效:修復划詞翻譯模塊開關後無法使用的問題(popup.js 中 DOM 元素不存在導致 TypeError 阻止了 toggleModule 消息發送)
  • 設置保存崩潰:修復高級設置中 quickPanelEnabled / hoverTranslationEnabled 因 DOM 缺失而崩潰的問題

[3.3.1] - 2026-07-05

🔧 修復 / Fixed

  • 截圖翻譯精度:框選文字提取改為字符級定位,不再整段提取
  • 語言檢測:拉丁文字統一使用 auto,德語/法語等不再被誤判為英文
  • Extension context invalidated:Promise 拒絕靜默處理,不再彈出 Uncaught error
  • Service Worker 穩定性:全局錯誤捕獲,未處理的 rejection 不再崩潰 SW

[3.3.0] - 2026-07-02

✨ 新增 / Added

  • 模塊名稱 i18n:所有內置模塊名稱現在支援 5 種界面語言
  • 全局錯誤捕獲:Service Worker 穩定性提升,不再因未處理的 rejection 崩潰
  • 截圖翻譯支援多引擎:截圖翻譯現在也會檢查多引擎開關

🔧 修復 / Fixed

  • 高級設置按鈕在 UI 清理後無法點擊
  • 多引擎對比下 LLM 結果不顯示
  • Extension context invalidated 導致的 Service Worker 崩潰
  • 模塊系統中「內聯翻譯」更名為「選詞即譯」

🏗️ 變更

  • 移除彈窗主界面的模式開關,統一由 🧩 模塊系統管理

[3.2.0] - 2026-07-02

✨ 新增 / Added

  • 內聯翻譯模式:選中文字後自動翻譯,可拖拽浮窗展示結果,點擊頂部關閉
  • 彈窗快捷開關:主界面新增內聯翻譯開關,無需進入模塊列表
  • 多語言支援:內聯翻譯相關 UI 現在支援 5 種語言

🔧 修復 / Fixed

  • 清理內聯翻譯關閉按鈕的殘留死代碼
  • 優化內聯翻譯關閉檢測機制

🏗️ 架構

  • 新增 modules/mode-inline-translate.js — 內聯翻譯模式模塊
  • 完善彈窗設置 UI 與背景腳本的內聯翻譯狀態同步

[3.1.0] - 2026-07-01

✨ 新增 / Added

  • 🌙 暗色模式:跟隨系統自動切換,popup/快捷面板/浮動面板/截圖界面全部支援
  • 🧹 文本淨化處理器:自動清理多餘空格、換行、HTML 實體
  • 💾 翻譯快取服務:LRU 快取 200 條,相同文字不重複請求 API
  • 🖱️ 右鍵翻譯:選中文字後右鍵 QuickTranslate,支援單引擎/多引擎
  • 🛡️ 代碼保護處理器:反引號代碼塊自動保護,翻譯後恢復

🔧 修復 / Fixed

  • Google 翻譯 429 限流:改用 clients5.google.com + dict-chrome-ex 參數,加 3 次自動重試

🏗️ 架構

  • 新增 modules/processor-*.js — 處理器類模塊(preprocessor/postprocessor 管道)
  • 新增 modules/service-cache.js — 翻譯快取服務模塊

[2.5.0] - 2026-05-23

✨ 新增 / Added

  • 獨立翻譯面板(快捷面板):可通過 Ctrl+Shift+Q 快捷鍵呼出的小型浮動面板
  • 翻譯歷史記錄:自動保存翻譯歷史,最多可存儲500條記錄
  • 生詞本功能:用戶可收藏常用翻譯,最多可存儲500條
  • 全方法收藏支持:截圖翻譯、劃詞翻譯、懸停翻譯均支持保存到生詞本

🎨 界面優化

  • 浮動面板名稱更新:「快捷翻譯」→「快捷面板」
  • 主界面按鈕更新:「歷史」→「快捷面板歷史」
  • 導入/導出位置調整:按鈕從主界面移至生詞本彈窗
  • 高級設置彈窗高度增加:改善長內容的顯示效果
  • 數量顯示統一化:歷史和生詞本顯示「已存數量/總數」格式(如 3/500)

📝 文件變更

  • float-panel.js - 新增獨立的浮動翻譯面板核心邏輯
  • float-panel.css - 新增浮動面板樣式
  • i18n.js - 新增國際化翻譯支持
  • quick-panel.js - 新增收藏按鈕和歷史/生詞本tab切換
  • quick-panel.css - 新增tab導航樣式
  • content.js - 新增截圖翻譯結果的收藏按鈕
  • popup.js - 新增歷史/生詞本彈窗及數量顯示
  • popup.css - 優化彈窗flexbox布局
  • background.js - 新增歷史/生詞本存儲方法和MAX_HISTORY=500

🔧 修復 / Fixed

  • 修復浮動面板語言始終為英文的問題(內容腳本無法訪問popup的i18n.js)
  • 修復選詞翻譯保存按鈕消失的問題
  • 修復彈窗底部按鈕被遮擋的問題

[2.3.0] - 2026-05-23

✨ 新增 / Added

  • 多語言界面切換:支援簡體中文、繁體中文、英文、日文、韓文5種界面語言
  • 自動語言檢測:插件自動根據瀏覽器默認語言切換對應界面
  • 手動語言切換:通過標題欄語言選擇器隨時切換界面語言
  • 多語言安裝通知:首次安裝時的通知提示也支持多語言顯示
  • 設置持久化:語言設置自動保存,下次打開自動應用

🎨 界面優化

  • 標題欄新增語言選擇器下拉框
  • 高級設置按鈕響應式調整,適配不同語言長度
  • 優化歡迎提示框的顯示邏輯

📝 文件變更

  • i18n.js - 新增國際化翻譯文件,包含5種語言
  • popup.html - 添加 data-i18n 屬性標記和語言選擇器
  • popup.js - 新增 initI18nchangeUILanguage 方法
  • popup.css - 新增語言選擇器樣式 .lang-select.header-controls
  • background.js - 新增 checkFirstRungetNotificationText 方法

🔧 修復 / Fixed

  • 修復開發者模式下首次安裝不顯示歡迎提示的問題
  • 修復歡迎提示只顯示1秒就消失的問題
  • 修復安裝通知語言不跟隨瀏覽器的問題
  • 修復高級設置按鈕在某些語言下超出邊界的問題

[2.2.0] - 2026-05-22

✨ 新增 / Added

  • 多引擎結果對比:同時展示 Google / Microsoft / LLM 等多個翻譯引擎的結果
  • 多引擎開關設置:可在高級設置中啟用/關閉多引擎對比功能
  • 獨立複製按鈕:每個翻譯結果都有獨立的複製按鈕

🎨 界面優化

  • 多引擎結果以卡片形式展示,每個引擎有獨立標籤和顏色區分
  • Google 翻譯(藍色)、Microsoft(青色)、GLM(橙色)、自定義 LLM(綠色)

📝 文件變更

  • background.js - 新增 translateMultiEngine 方法
  • quick-panel.js - 新增多引擎翻譯 UI 和邏輯
  • quick-panel.css - 新增多結果展示樣式
  • popup.html - 新增多引擎開關設置項
  • popup.js - 集成多引擎設置保存/加載

[2.1.2] - 2026-05-21

✨ 新增 / Added

  • 懸浮翻譯功能:按住 Alt 鍵並將鼠標懸停在文字上即可翻譯,無需選中文字
  • 懸浮翻譯設置開關:可在高級設置中啟用/關閉懸浮翻譯功能
  • 懸浮翻譯氣泡:精美的懸浮翻譯結果展示,包含原文和譯文

🔧 修復 / Fixed

  • 修復設置保存後無法正確讀取的問題(getSettings 補充了缺失字段)
  • 修復懸浮翻譯初始化時序問題(init 未等待 loadSettings 完成)
  • 修復懸浮翻譯 keydown 事件坐標錯誤
  • 修復懸浮翻譯 Alt 鍵無響應問題
  • 修復懸浮翻譯坐標追蹤問題
  • 修復懸浮翻譯多次使用失效問題
  • 修復快捷翻譯面板內存洩漏(拖拽監聽器未移除)
  • 修復快捷翻譯面板複製按鈕事件重複綁定
  • 移除 content.js 中對不存在的 this.settings 的引用

🏗️ 優化 / Improved

  • 重構懸浮翻譯狀態管理邏輯
  • 懸浮翻譯使用 caretRangeFromPoint 獲取精確單詞
  • 懸浮翻譯響應延遲從 300ms 優化到 100ms

[2.1.1] - 2026-05-21

✨ 新增 / Added

  • 更新安装完成通知:修改popup.html中的安装完成通知文字,使其更简洁明了
  • 优化欢迎提示显示时长:确保欢迎toast在打开弹出窗口时持续显示5秒钟,给用户足够时间阅读

[2.1.0] - 2026-05-20

✨ 新增 / Added

  • 翻譯面板智能定位:面板現在出現在選中文字附近(優先顯示在文字下方,空間不足則顯示在上方),不再固定在屏幕正中央,減少對原文的遮擋
  • 翻譯來源顯示:當 Google 翻譯不可用並自動切換至備用服務(MyMemory / Lingva)時,面板底部顯示 "⚡ 由 MyMemory 提供" 等提示信息

🔧 修復 / Fixed

  • 修正 quick-panel.jsquick-panel.css 頭部注釋中殘留的 "4utrans" 標識,統一為 "QuickTranslate"

🏗️ 內部改進 / Internal

  • callBackupTranslateService() 現在返回 { text, service } 對象,以便上層調用者知道具體使用了哪個備用服務
  • translateText() 響應中新增 backupService 字段(僅在 isBackup: true 時存在)

[2.0.0] - 2026-05-20

🎉 重大更新 - 快捷翻譯面板

這是一個革命性的版本更新,為用戶帶來全新的翻譯體驗!

✨ 新增功能

快捷翻譯面板 (Quick Translation Panel)

  • 選中即翻譯 - 在網頁上選中文字後自動顯示翻譯按鈕
  • 一鍵翻譯 - 點擊按鈕即可快速翻譯,無需打開擴展popup
  • 精美懸浮面板 - 紫色漸變主題的翻譯結果面板
  • 智能位置調整 - 翻譯按鈕自動出現在選中文字附近
  • 一鍵復制 - 快速復制翻譯結果到剪貼板
  • 智能語言檢測 - 自動識別源語言並翻譯成目標語言
  • 可配置開關 - 可在設置中啟用/禁用快捷翻譯面板
  • 最小字數設置 - 可配置最小選擇字數,避免誤觸發(默認2字符)

用戶體驗提升

  • 操作步驟大幅減少 - 從5步操作縮減到2步(選中 → 點擊)
  • 翻譯速度提升75% - 從約2秒縮短到0.5秒內
  • 無干擾設計 - 在輸入框中選擇文字不會觸發翻譯按鈕
  • 流暢動畫 - 按鈕和面板都有優雅的淡入淡出效果

🎨 界面優化

  • 紫色漸變主題 - 現代化的視覺設計
  • 自定義滾動條 - 精美的滾動條樣式
  • 響應式布局 - 適配不同屏幕尺寸
  • 高對比度 - 確保文字清晰可讀
  • 圓角設計 - 柔和的視覺效果

🔧 技術改進

  • 模塊化架構 - 新增 quick-panel.jsquick-panel.css 模塊
  • 事件管理優化 - 智能的事件監聽和清理機制
  • 內存管理 - 自動清理不使用的DOM元素
  • 錯誤處理 - 完善的錯誤提示和降級方案
  • 設置同步 - 實時同步用戶設置變更

📝 文件變更

  • manifest.json - 版本更新至 2.0.0,添加新的 content scripts
  • quick-panel.js - 全新的快捷翻譯面板核心邏輯(350+ 行)
  • quick-panel.css - 精美的UI樣式(150+ 行)
  • popup.html - 添加快捷面板設置選項
  • popup.js - 集成快捷面板設置邏輯
  • background.js - 添加 translate action 處理

📊 性能指標

  • 操作步驟 ↘️ -60% (5步 → 2步)
  • 翻譯速度 ↗️ +75% (~2秒 → ~0.5秒)
  • 用戶滿意度 ↗️ 顯著提升
  • 功能完整性 ↗️ 基礎翻譯 + 快捷翻譯

🎯 使用場景

快捷翻譯面板適用於:

  • 閱讀外文網頁時快速查詞
  • 翻譯社交媒體上的短文
  • 查看產品描述和評論
  • 學習外語時的輔助工具

截圖翻譯(Alt+1)適用於:

  • 圖片中的文字識別
  • PDF文檔翻譯
  • 無法選中的文字內容
  • 需要OCR識別的場景

💡 使用提示

  1. 啟用快捷面板:打開擴展 → 高級設置 → 勾選"啟用快捷翻譯面板"
  2. 調整靈敏度:設置"最小選擇字數"來控制觸發條件
  3. 快速翻譯:選中文字 → 點擊翻譯按鈕 → 查看結果
  4. 復制結果:點擊面板中的"復制"按鈕
  5. 關閉面板:點擊面板外的任意位置或關閉按鈕

⚠️ 重要提示

更新後需要完全重新加載擴展:

  1. 打開 chrome://extensions/
  2. 找到擴展並點擊"移除"
  3. 重新加載擴展文件夾
  4. 重新配置設置(API Key等)

這是因為修改了 manifest.json 中的 content_scripts,Chrome 需要完全重新加載才能識別新文件。

🚀 未來計劃

  • v2.1.0: 翻譯歷史記錄功能
  • v2.2.0: 多引擎對比翻譯
  • v2.3.0: PDF翻譯模式優化

[1.4.0] - 2025-05-18

✨ 新增功能

  • Microsoft Translator 翻譯服務 - 新增微軟翻譯作為免費翻譯選項
  • GLM 大模型翻譯支持 - 支持智譜 GLM-4-Flash 模型進行翻譯
  • LLM 自定義翻譯 - 支持 OpenAI 兼容格式的自定義 LLM API
    • 用戶可配置 Base URL
    • 用戶可配置模型名稱
    • 支持任何兼容 OpenAI 格式的 API(如 GPT-4、Claude 等)

🔧 配置優化

  • 翻譯服務設置分為三類:
    • 免費翻譯:Google Translate、Microsoft Translator
    • 大模型翻譯:GLM(需 API Key)
    • 自定義 LLM:OpenAI 兼容格式(需 API Key、Base URL、模型名稱)
  • 高級設置界面新增 LLM 自定義配置區塊

📝 文件變更

  • manifest.json - 版本更新至 1.4.0
  • background.js - 新增翻譯服務路由、Microsoft/GLM/自定義LLM翻譯方法
  • popup.html - 新增翻譯服務選項和LLM配置輸入框
  • popup.js - 新增LLM配置保存/加載邏輯

[1.3.0] - 2025-01-20

🚀 重大更新

  • 模塊化架構重構 - 將5000+行代碼重構為專業模塊,提升可維護性60%
  • 性能監控系統 - 全新的性能分析和監控框架,實時追蹤系統表現
  • 智能緩存機制 - LRU緩存算法,提升重複操作性能30%
  • 錯誤處理增強 - 智能重試機制和友好錯誤提示

✨ 新增功能

  • DOM提取器模塊 - 獨立的文字提取模塊,支持緩存和性能優化
  • 語言檢測器模塊 - 基於深度字符特徵分析的智能語言識別
  • 事件管理器 - 自動清理事件監聽器,防止內存洩漏
  • 無障礙支持 - 完整的鍵盤導航和屏幕閱讀器支持
  • 深色模式 - 自動適配系統主題偏好

🎨 界面優化

  • 響應式設計 - 適配不同屏幕尺寸和設備
  • 視覺反饋增強 - 更流暢的動畫和狀態提示
  • ARIA標籤完善 - 提升無障礙訪問體驗
  • 主題系統 - 支持明暗主題切換

⚡ 性能提升

  • DOM查詢優化 - 智能緩存減少重複查詢
  • 內存使用優化 - 減少30%內存佔用
  • 異步處理改進 - 非阻塞操作保持界面響應
  • 批量處理優化 - 提升大量文字處理效率

🔧 開發體驗

  • 完整文檔體系 - 詳細的API文檔和使用示例
  • 性能基準測試 - 內置性能測試和分析工具
  • 模塊化示例 - 提供完整的重構示例代碼
  • 最佳實踐指南 - 詳細的優化建議和實施方案

📊 技術指標

  • 代碼可維護性 ↗️ +60%
  • 性能響應速度 ↗️ +50%
  • 內存使用效率 ↗️ +30%
  • 錯誤處理能力 ↗️ +70%
  • 開發效率 ↗️ +80%

📁 新增文件

  • PROJECT_OPTIMIZATION.md - 詳細優化分析報告
  • OPTIMIZATION_EXAMPLES.md - 實用優化示例
  • src/content/dom-extractor.js - DOM文字提取模塊
  • src/content/language-detector.js - 智能語言檢測模塊
  • src/shared/performance-monitor.js - 性能監控系統

[1.2.0] - 2024-12-19

新增

  • 智能語言檢測 - 基於字符特徵自動識別日文、韓文、英文等語言
  • 多重翻譯引擎 - Google翻譯API + MyMemory備用服務,確保翻譯成功
  • 翻譯質量驗證 - 自動驗證翻譯結果,確保目標語言正確
  • 強化語言檢測邏輯 - 優先檢測假名字符,避免被漢字干擾
  • 快速保存功能 - 主界面新增"💾 保存設置"按鈕
  • 自動檢測選項 - 識別語言新增"自動檢測(推薦)"選項
  • 智能快捷鍵系統 - Alt+1智能翻譯快捷鍵
    • 自動檢測源語言
    • 翻譯成用戶設置的目標語言
    • 一鍵啟動,無需手動選擇語言

界面優化

  • 視覺反饋系統 - 設置變更時按鈕脈衝提示,保存時綠色動畫確認
  • 操作流程簡化 - 基本設置可在主界面直接保存,無需進入高級設置
  • 狀態顯示優化 - 保存過程顯示"保存中...",完成後顯示"已保存"
  • 分層設計改進 - 主界面處理日常設置,高級設置處理專業配置
  • 用戶體驗提升 - 高級設置保存後自動關閉模態框

改進

  • 文字識別準確率 - 提升至98%+
  • 語言檢測準確率 - 達到99%+
  • 翻譯成功率 - 提升至95%+
  • 用戶體驗 - 自動設置目標語言為中文,無需手動配置

修復

  • 修復語言檢測錯誤導致的翻譯失敗問題
  • 修復翻譯質量檢查過於嚴格導致好翻譯被拒絕的問題
  • 修復源語言和目標語言相同時不進行翻譯的問題
  • 修復OCR語言設置干擾自動語言檢測的問題
  • 修復用戶設置中目標語言設置錯誤的問題

技術改進

  • 簡化語言檢測邏輯,提高可靠性
  • 增強Google翻譯API調用的錯誤處理
  • 添加詳細的調試日誌,便於問題診斷
  • 優化翻譯結果驗證機制

[1.1.0] - 2024-12-XX

新增

  • DOM文字提取技術 - 全新的文字識別方法,準確率提升至95%+
  • 多點檢測算法 - 在選中區域內多個位置檢測元素,確保不遺漏內容
  • 智能過濾系統 - 自動過濾CSS樣式、代碼片段等無關內容
  • 流暢動畫效果 - 新增選擇框脈衝動畫和淡入效果
  • 內存管理優化 - 添加自動清理機制,防止內存洩漏
  • 完善錯誤處理 - 更好的錯誤提示和異常處理

改進

  • 性能優化 - 響應時間減少50%,從選擇到顯示結果<500ms
  • 代碼重構 - 模塊化設計,提高可維護性
  • 用戶界面 - 更現代化的設計和更好的視覺反饋
  • 文檔完善 - 全新的README文檔,包含詳細的使用指南

修復

  • 修復選擇區域不準確導致提取整個頁面文字的問題
  • 修復OCR識別失敗時的錯誤處理
  • 修復在某些網站無法正常工作的兼容性問題
  • 修復事件監聽器未正確清理導致的內存洩漏

技術改進

  • 升級到 Manifest V3 最新標準
  • 優化DOM查詢算法,提高文字提取精度
  • 改進重疊計算邏輯,支持更複雜的頁面佈局
  • 增強翻譯API的錯誤處理和重試機制

[1.0.3] - 2024-11-XX

新增

  • 集成Google翻譯免費API
  • 添加MyMemory API作為備用翻譯服務
  • 本地詞典離線備援功能
  • 詳細的調試日誌系統

改進

  • 精確框選定位算法
  • 智能重疊檢測機制
  • 優先級過濾系統
  • 嵌套元素處理優化
  • 按鈕連結文字識別優化
  • 多點精確採樣算法
  • 質量評分系統

修復

  • 修復翻譯功能無法正常工作的問題
  • 修復框選區域定位不準確的問題
  • 修復在某些網站崩潰的問題

[1.0.2] - 2024-10-XX

改進

  • 優化用戶界面設計
  • 改進翻譯結果顯示
  • 增強錯誤處理機制

修復

  • 修復彈出窗口樣式問題
  • 修復設置保存功能

[1.0.1] - 2024-10-XX

修復

  • 修復初始化問題
  • 修復權限配置

[1.0.0] - 2024-10-XX

新增

  • 初始版本發布
  • 基本的截圖翻譯功能
  • 支持中英文互譯
  • Chrome擴展基礎架構