Google Translate失效修复指南
前言
众所周知,Chrome 内置的网页翻译 API 就是 Google Translate,然而失效后却十分不便。
声明:如果你害怕麻烦的话,可以直接使用 Edge。
为什么失效

Google Translate 失效的主要原因是 Google 退出中国市场,关闭了国内翻译 API 及网站。现在访问 translate.google.cn 也是这样:

解决方案
某些过期的文章给定的解决方案时修改 Hosts 文件指向国内 API,然而现在国内 API 大多数也关闭了。
所以说想要解决这个问题,只剩下了四种解决方案:
- 科技,不过多解释。
- 修改 Hosts 文件指向国外仍可用的 API。
- 重定向 API 至第三方 CDN。
- 使用代理/反向代理。
修改 Hosts 文件
什么是 Hosts 文件
知周所众,访问一个网站需要找到其网址对应的 IP 地址(除非你就是直接访问 IP),而这个映射过程一般由 DNS 服务器完成。访问网址时会先向 DNS 服务器查询对应 IP,再访问网站。
然而,在 DNS 出现之前,是使用 Hosts 文件来实现网络域名的管理与映射的,因为最初的网络规模非常小,仅使用这个集中管理的文件就可以通过 FTP 为连入 Internet 的站点和主机提供域名的发布和下载。每个 Internet 站点将定期地更新其主机文件的副本,并且发布主机文件的更新版本来反映网络的变化。
但是后来网络规模扩大,仅仅凭借 Hosts 文件便不足以支撑需求了,这才有了 DNS。
然而正是由于这些原因,计算机在请求 IP 时,会先在 Hosts 文件中查询,如果找到了便不会访问 DNS 服务器而直接使用 Hosts 文件中给定的 IP。
比如在Hosts文件中写入:
220.181.38.150 www.baidu.com
那么你访问 www.baidu.com 时,访问的便一定是 220.181.38.150。
操作方法
建议工具:GoogleTranslate_IPFinder、GoogleTranslateIpCheck
注意:前者扫描出的IP不可用。那是已关闭的国内API的IP,后者给出的IP才可能有用。
你可以访问此处以获取可能有用的IP,然后使用前者进行测试(主要是因为前者有GUI)。
随后你在Hosts文件中写入可用的IP及网址。
想要完美修复内置翻译,你需要映射的网站有:
translate.googleapis.com
translate-pa.googleapis.com
通过 F12 可以看到,当你启动内置网页翻译的时候,会访问这两个网站。
测试是否正常,访问 https://translate.googleapis.com/translate_a/element.js 即可。
如果你还想修复网页版的 Google 翻译,那么映射 translate.google.com 即可。
比如这样:
142.251.179.90 translate.google.com
142.251.179.90 translate.googleapis.com
142.251.179.90 translate-pa.googleapis.com
然而,Google 翻译网页版还有个“网页翻译”功能:

以 www.baidu.com 为例,翻译出来长这样(中译英):

遗憾的是,目前并不能完全修复此功能(虽然也没什么大用?),因为其原理是访问 www-baidu-com.translate.goog。也就是说,除非你闲到给所有站都映射上对应 IP,不然没用。
重定向至第三方CDN
很多都已经失效了,目前稳定的推荐 gtranslate.cdn.haah.net。
可以使用Header Editor。
将 translate.googleapis.com 重定向到 gtranslate.cdn.haah.net 即可。
注:想要测试能否成功可以参考 https://translate.googleapis.com/translate_a/element.js 的验证方法。
但是,实测发现高版本 Chrome 会访问 translate-pa.googleapis.com(之前不会且暂未发现其镜像站),访问失败便不会全文翻译,所以这种方法如果不搭配 Hosts 文件,就会失效。

设法修复 Google Translate 网站及浏览器翻译。
浙公网安备 33010602011771号