想让翻译工具忽略某些网站,最靠谱的做法是两条路并行:用户端在浏览器或扩展里设置“从不翻译该站点”或直接关闭自动翻译,站点端在页面上添加机器翻译识别的标记(比如 translate=”no”、class=”notranslate” 或 ),必要时通过内容安全策略或阻止第三方翻译脚本来强化。多数浏览器和翻译插件都会尊重这些标记,但网络代理或特殊翻译服务可能绕过,需结合 HTTPS 与脚本屏蔽一起使用以提高可靠性。
先把问题拆开:为什么会被翻译?

要解决“如何屏蔽不需要翻译的网站”,先要明白翻译是怎么发生的。翻译通常有两类来源:
- 浏览器或操作系统自带的自动翻译(比如 Chrome、Edge、Safari 的页面翻译功能),它们会检测页面语言并在需要时弹出翻译提示。
- 第三方翻译脚本或扩展(如 Google 翻译扩展、网站上嵌入的翻译小部件、企业/学校网络代理的实时翻译服务),这些可以在页面层面或网络层面修改页面文本。
知道来源后,能对症下药:浏览器层面由用户控制,页面层面由站点控制,网络层面则更复杂,需要考虑 HTTPS 与代理信任。
用户端能做的:对付浏览器和扩展
Chrome / Edge 一般流程
- 当翻译提示出现时,点击翻译弹窗右上角的“三点”或“选项”。
- 选择 “从不翻译此网站”(Never translate this site)或关闭“当遇到非母语页面时提示翻译”的设置。
- 也可以进入设置:设置 → 语言(Languages)→ 关闭“为非熟悉语言提供翻译”的开关,或者在语言列表里为特定语言选择“从不翻译”。
扩展(插件)层面的处理
- 点扩展图标,进入扩展选项,查找“排除网站”或“从不翻译站点”之类的设置;很多翻译扩展支持黑名单。
- 必要时改为“仅在点击时激活”或完全禁用该扩展对特定站点的权限(“此扩展可以读取并更改网站数据”设置中选择“在访问时”或“点击扩展时”)。
移动端(Android / iOS)
移动浏览器通常也有翻译弹窗,操作逻辑类似:在翻译提示里选择“从不翻译此网站”或在浏览器设置里关闭自动翻译功能。iOS 的系统翻译可以在地址栏翻译图标中控制。
站点端能做的:在网页里明确“别翻译”
作为网站所有者或开发者,你可以在页面里加入机器翻译工具识别的标记,大多数现代翻译器都会遵循这些约定:
常用的 HTML 标记与类名
- translate=”no”(HTML5 全局属性):可以加在 html、body 或具体元素上,告诉翻译器不要翻译该元素及其子节点。
- class=”notranslate”:很多翻译工具会识别这个类名并跳过,被用于局部内容或全文。
- <meta name=”google” content=”notranslate”>:Google 的翻译器会识别并跳过页面翻译。
举例说明,下面是几种常见写法(请把实际代码放在页面 head 或相应元素上):
| <html translate=”no”> … </html> |
| <body class=”notranslate”> … </body> |
| <meta name=”google” content=”notranslate”> |
哪些翻译工具会遵循这些标记?
主流浏览器自带的翻译(如 Chrome)和大多数基于 DOM 的翻译脚本通常会遵循 translate 属性和 notranslate 类。嵌入式翻译插件/小部件也大多支持这些标记。但要注意,某些网络代理或“中间人”式的翻译服务(特别是在企业环境里)可能在 TLS 被解密或通过修改 HTML 的情况下绕过这些标记。
更进一步:阻止第三方翻译脚本加载
如果你发现是某个翻译脚本(比如某个外部 JS)在页面上进行翻译,可以直接阻止该脚本加载或运行:
- 在 HTML 里不要引入第三方翻译脚本。
- 使用 Content-Security-Policy(CSP)限制脚本来源,例如只允许自己的域名加载脚本:Content-Security-Policy: script-src ‘self’。这会阻止不在白名单内的翻译脚本被加载,但要小心,这也会影响其他第三方脚本。
- 如果需要保留部分外部脚本,考虑通过子资源完整性(SRI)和严格的 CSP 组合来保证加载的脚本是受信任的。
注意:CSP 有副作用
用 CSP 阻止脚本是一把双刃剑:它确实能阻挡外部翻译脚本,但同时也可能阻止分析、广告、统计等合法脚本,导致页面功能受损。上线前请充分测试。
特殊情况:网络层面的翻译(代理、企业网)
如果翻译发生在网络层面(比如学校或企业在网关处对页面进行了翻译),然后再到用户,这种情况下网页里的 translate 标记往往无法阻止,因为原始页面在到达浏览器前就已被改写。应对方法有:
- 确保站点通过 HTTPS 且证书被妥善配置,防止中间人解密并篡改页面。
- 在企业环境中,与网络管理员沟通,说明不希望页面被翻译的原因,请求在网关策略里排除你的域名。
验证是否生效:测试步骤清单
做了设置后,按下面步骤验证效果:
- 在私有/无痕窗口打开页面,以排除缓存与扩展影响。
- 触发浏览器翻译(如果弹窗出现,检查选项里是否显示“从不翻译此网站”已生效)。
- 查看页面源代码或用开发者工具确认 translate 属性或 notranslate 类在 DOM 中存在。
- 临时禁用 HTTPS 或把页面通过公网代理访问(谨慎),看是否网络层翻译仍会发生。
给开发者的实用清单(一步步做)
- 第一步:在 <head> 加入 <meta name=”google” content=”notranslate”>(可覆盖页面级别的自动翻译)。
- 第二步:对整站或关键容器使用 translate=”no”,例如 <html translate=”no”> 或 <body translate=”no”>。
- 第三步:对需要保留原样的片段(如品牌名、代码段)加上 class=”notranslate”。
- 第四步:如果确有外部翻译脚本,评估是否移除或通过 CSP 限制加载源。
- 第五步:用浏览器的无痕模式和不同设备测试,确保在常见客户端都被跳过。
常见误区与答疑
- 误区:把 translate=”no” 放在某个 div 上就能阻止所有翻译。
说明:通常会生效,但如果翻译是在网络层面或翻译工具直接替换了页面文本,这种标记可能被绕开。 - 误区:只靠 meta 标记就能完全阻挡所有翻译。
说明:meta 对大多数工具有效,但有些扩展或代理不会理会它,特别是在服务器端或代理端翻译的场景。 - 问:translate=”no” 会影响 SEO 或可访问性吗?
答:一般不会影响 SEO,搜索引擎抓取文本仍然会读取页面原文。可访问性方面,屏幕阅读器也会读取原始文本,通常没有负面影响。
对策优先级:什么时候用哪种方法
按照成本和可靠性排序:
- 最快且对用户友好:提示用户如何在浏览器里选择“从不翻译此网站”。
- 站点层面强力措施:translate=”no” + class=”notranslate” + meta 标记(适合你能修改页面的情况)。
- 严格控制:CSP 阻止第三方翻译脚本(需全面测试)。
- 网络层面问题:确保 HTTPS、与网管沟通,或在企业环境中申请例外。
小结(不太总结的那种,给几个容易忘的细节)
别忘了测试:不同浏览器、插件和网络环境表现不一样。translate=”no” 和 notranslate 是最常用的“压缩包”解决方案,Meta 标签对 Google 系列工具特别有效。若你在企业或学校网络遭遇被强制翻译的问题,往往不是浏览器能解决的——那时候需要网络层面的协作。顺带提一句,过度阻止翻译会影响部分用户体验,比如多语言访客可能真需要翻译,考虑在站点上提供清晰的语言切换或说明。
相关文章
了解更多相关内容
网页版与客户端在核心翻译引擎上通常是一致的,但在离线能力、系统级集成(剪贴板、截图、热键)、大文件与批量处理、硬件调用(麦克风、摄像头)以及隐私与本地缓存等方面会有明显差别,具体体验还会受浏览器、网络与操作系统的限制、使用场景影响。
先说清楚:为什么会有差别 用费曼式的思路...
阅读更多 →