兩行 js 實現 html 全自動翻譯。 無需改動頁面、無語言配置文件、無 API Key、對 SEO 友好!
?
升級說明
- translate.service 深度綁定 GiteeAI 作為公有云翻譯大模型算力支持
- translate.service 增加shell一鍵部署后通過訪問自助完成GiteeAI的開通及整個接入流程。
- 增加 translate.ignore.setTextRegexs 可以正則的方式設置不進行翻譯的文本 (有使用者wangliangyu提供)
- 增加 translate.lifecycle.execute.renderFinish 生命周期相關監控
- 增加 translate.visual.adjustTranslationSpacesByNodequeueUuid 用于進行視覺上的坐標處理,對類似于中譯英場景,元素緊挨時兩個單詞會緊貼的問題。
- 增加 translate.visual 用于人眼看到的視覺層的處理
- 增加 translate.util.getElementPosition 用于計算實際顯示的元素坐標及尺寸
- 優化 translate.reset() 只對最后一次的翻譯進行還原操作(不刷新當前頁面)
- 優化 translate.progress.api.startUITip() 翻譯中的提示
- 優化for遍歷對象時排除原型鏈上的屬性
- 優化 init.json、language.json、ip.json、connectTest.json 為可配置,可屏蔽不發起網絡請求
- 優化 translate.language.autoRecognitionLocalLanguage 自動識別當前語種時,識別的是 translate.setDocument() 區域的語種
- 優化對自定義接口路徑時測速失敗的支持
- 優化 translate.request.listener.start() 監聽對舊瀏覽器的兼容
- 增加 PerformanceObserver 對象的判斷,避免在老舊的瀏覽器里報錯
- 增加對 translate.progress 的自動刪除
- 優化翻譯執行的等待,私有部署服務端可以禁用等待
- 增加 translate.office.fullExtract 以便對整站進行離線翻譯的配置輸出
- 優化 translate.util.textReplace 中翻英的閱讀流暢度
- 去掉 translate.enterprise.isUse 的判斷,更好適配定制精簡版 translate.js
- 增加 translate.request.appendParams 的支持
- 增加 translate.listener.use 用于記錄代碼是否啟用監聽
- 增加對自定義翻譯標簽元素的忽略翻譯能力支持
- 增加本地語種 希伯來語 的適配
- 優化 translate.changeLanguage 在iframe中進行切換時,也會影響父層一起切換語種
- translate.service 增加對內存緩存中的譯文進行修改,可以模糊搜索原文,找到指定原文及譯文,對翻譯不滿意的譯文手動進行修改。
- translate.service 優化流量控制配置,如果cycleTime設置為0則是不使用流控
- translate.service 文本預處理,增加識別字符后的的特殊符號進行提取處理,不讓特殊字符進入翻譯的工具類
- translate.service 增加對內存緩存進行設置及清空相關管理接口
- translate.service 優化字符拆分跟 translate.js 的合并時空格補充的異常
- translate.service 優化中譯英,分隔符本身也將全角轉為半角的問題
- translate.service 全面優化文本分割能力,可通過配置自定義文本分割的字符
- translate.service 優化對 qwen3 大模型的支持及推理能力控制
- translate.service 增加 translate.service.set.useSemanticsModelApi 配置,可自由決定是否啟用大模型判斷語義
在線體驗
http://res.zvo.cn/translate/demo.html
快速使用
在你的網頁最末尾,?</html>
?之前,加入以下代碼,會在頁面的最底部出現選擇語言的標簽:
<script src="https://cdn.staticfile.net/translate.js/3.17.0/translate.js"></script> <script> //設置本地語種(當前網頁的語種)。如果不設置,默認自動識別當前頁面文字的語種。 可填寫如 'english'、'chinese_simplified' 等
translate.language.setLocal('chinese_simplified'); translate.execute(); // 進行翻譯 </script>
開源適配
如果您有開源項目,比如文檔、cms、UI 框架、后臺管理框架、等等,需要采用此進行多語言切換,歡迎喊我,傳統 i18n 工作量太大,每次更新也容易遺漏,而 translate.js 是您最佳的選擇,我們無償提供全程接入討論及遇到的問題跟隨優化,希望我們的開源項目能互相產生作用一起越來越好。
?