You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否通过Chrome API实现Chrome扩展内的文本翻译功能?

可行的Chrome扩展文本翻译方案(无需付费API/代理)

当前可用方案

1. 调用Chrome内置未公开翻译API

Chrome内部存在未公开的chrome.translate接口,可直接调用内置翻译引擎,但需注意无官方文档支持,稳定性无法保证,且Chrome版本更新可能导致接口失效,提交Web Store审核也可能受阻。

示例实现:

async function translateText(text, srcLanguage, destLanguage) {
  return new Promise((resolve, reject) => {
    // 未公开API,仅部分Chrome版本可用
    chrome.translate.translate(text, srcLanguage, destLanguage, (translatedText) => {
      if (chrome.runtime.lastError) {
        reject(chrome.runtime.lastError.message);
      } else {
        resolve(translatedText);
      }
    });
  });
}

2. 嵌入开源离线翻译模型

这是最稳定的长期方案,完全不依赖外部服务或Chrome内部接口。选择轻量级开源翻译模型(如TinyTranslate、M2M-100小型版),通过TensorFlow.js在扩展内运行,实现离线翻译。

实现思路:

import * as tf from '@tensorflow/tfjs';
import { Translator } from 'your-translation-library'; // 替换为实际开源库

let translatorInstance;

// 扩展加载时初始化模型
async function initTranslator() {
  translatorInstance = await Translator.load({
    modelUrl: chrome.runtime.getURL('models/your-model-folder'),
    defaultSrcLang: 'auto',
    defaultDestLang: 'en'
  });
}

async function translateText(text, srcLanguage, destLanguage) {
  if (!translatorInstance) {
    await initTranslator();
  }
  translatorInstance.setSourceLang(srcLanguage);
  translatorInstance.setTargetLang(destLanguage);
  return await translatorInstance.translate(text);
}
  • 优势:完全离线、无封锁风险、稳定性高;
  • 注意事项:模型文件会增加扩展体积,需选择轻量级模型,或提供模型按需下载功能;翻译精度略逊于专业API,但满足基础需求足够。

未来可能的方案

目前Chrome官方尚未推出公开的翻译API,但可关注Chromium项目提案或Chrome开发者博客,若有相关公开API的计划,会优先在这些渠道发布。

内容的提问来源于stack exchange,提问作者Jonathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 08:35:09