谷歌翻译退出中国后如何恢复 Chrome 翻译的正常使用
Google 发言人称因“使用率太低”谷歌翻译服务已正式退出中国。现在访问谷歌翻译主页,显示的是提示用户使用香港 Google 翻译的页面,点击页面上的链接会进入香港 Google 翻译页面。当然,如果不使用网络代理是无法使用的。这无疑给需要使用谷歌翻译的小伙伴来带来了不便。
中国的网页版谷歌翻译无法使用的同时,可以在网页上划词翻译的 Google 翻译 Chrome 插件版(下载|网盘)以及 Chrome 自带网页翻译功能也无法正常工作了。插件版谷歌翻译会出现划词翻译后无反应的情况,而 Chrome 内置的网页翻译功能则会提示无法翻译此网页。
在介绍具体的解决方法之前,先解释一下出现此问题的原因。Chrome 的翻译功能无法正常工作的根本原因是互联网防火墙的阻断,使用翻译功能会请求域名为 translate.googleapis.com 的 API(应用程序接口),而该域名在谷歌翻译正式关闭服务前后就已经不可用了。
那谷歌翻译不能用了怎么办?Chrome 自带翻译无法使用了又该怎么办?针对这两个问题,书伴提供了两种有效的解决方案。一种是通过修改操作系统的 hosts 文件[1],将 API 所使用的域名映射到一个可用的 IP 上,另一种是使用网络代理,使得 API 所使用的域名能够正常访问。
方法一:将 API 域名加入代理
如果你有可用的网络代理,在全局模式下,不需要额外的设置 Chrome 的谷歌翻译功能应该就能正常使用。如果不是全局的,可以为 Chrome 浏览器安装 SwitchyOmega 插件,通过它的自动切换功能,可以实现只对无法正常访问的域名(比如谷歌翻译 API 域名)应用网络代理。
具体的设置方法为,进入 SwitchyOmega 插件的选项界面,新建一个情景模式,如下图所示,填上你所使用的网络代理所使用的协议(如 HTTP 或 Socks5),以及其提供的 IP 和 端口。
然后新建一条规则,将含有谷歌翻译 API 域名的规则 *.translate.googleapis.com
填进去,并为这条规则选择你之前新建的的那个情景模式(如下图所示),最后保存一下就可以了。
在浏览网页时,点击 Chrome 插件区域的 SwitchyOmega 插件图标,在弹出来的菜单中选择“自动切换”即可自动让谷歌翻译通过代理恢复正常使用。另外,当遇到有些网站无法正常访问时,插件会给出“x个资源未加载”的提示,点击该提示即可很方便地将相关域名自动添加到规则中。
Windows 用户需要注意,虽然此方法可以让插件版谷歌翻译的划词翻译功能恢复正常,但是不适用 Chrome 内置的网页翻译功能(翻译整个网页),这是因为它的网络请求是独立的,不会通过网络代理插件设定的规则。因此,如果你想要用 Chrome 内置翻译功能翻译整个网页,目前只有两种选择,一种是使用“方法一”修改 hosts 文件,另一种是使用系统级的全局网络代理。
通过 Clash、V2Ray 等工具使用网络代理的小伙伴请注意,如果添加以上规则仍然无法使用谷歌翻译功能,可以打开代理工具的配置文件,搜索一下 translate.googleapis.com 这个域名,看是否被设置成了直连,如果有就删除那条规则并保存,然后重新载入一下(如果需要的话)即可。
操作完毕后,可以在下方的输入框中输入英文,测试 Chrome 谷歌翻译 API 的请求是否正常。
注意,如果网络代理是正常的仍然无法使用 Google 翻译,请检查并确保操作系统的 Hosts 文件没有添加过过和此谷歌翻译 API 相关的规则,如果有必须将其删除。操作方法参考方法二。
方法二:修改系统 hosts 文件
【 警告 】修改 Hosts 文件的方式已不可靠,请参考方法一换用网络代理。
操作系统中的 hosts 文件作用是将域名映射到 IP 地址,我们可以通过添加规则将谷歌翻译 API 的域名映射到一个可用的 IP 地址,从而避免互联网中的 DNS 服务器返回不可用的 IP 地址。
★ 获取可用 IP 地址
Google 在中国开展业务的相关网站所使用的 IP 地址都是共享的,包括谷歌翻译业务在内,因此只要能找到你能正常访问的 Google 服务的相关域名,比如谷歌中国主页、能够在网页上正常加载的 Adsense 广告或 Analytics 统计所使用的 JavaScript 脚本文件网址等,就可以很轻松的获取到在你所在的网络环境中可以正常使用的 IP 地址。获取到可用 IP 地址后,将其添加到操作系统的 hosts 文件,使其映射到谷歌翻译 API 所使用的域名,Chrome 翻译功能就能正常使用了。
自 2022 年 10 月 21 日起,Google 断开了谷歌翻译与在华运营的其它网络服务 IP 的关联,因此通过可访问的 Google 域名获取 IP 不再可行,想要通过修改 hosts 恢复谷歌翻译功能,需要寻找其它可用 IP 地址。
下面是将 IP 地址添加到 Windows 系统或 macOS 系统 hosts 文件的具体方法。
● Windows 系统(自动修改)
为简化操作,书伴将手动修改 hosts 文件的步骤写成了批处理脚本,只需一键即可完成所有修改步骤。脚本托管在 GitHub Gist 上,你也可以通过以下链接直接下载到本地使用。
- 下载批处理脚本:fix-google-translate-cn.bat(备用网盘下载)
下载完成并解压缩,在批处理文件上点击右键,在弹出的菜单中点击【以管理员身份运行】即可。运行脚本后需要选择 IP 添加方式,输入 1 并回车会自动随机添加可用 IP,输入 2 并回车可手动输入可用 IP。出现如下所示提示表示规则添加成功,Chrome 翻译功能即可恢复正常。
Adding the rule "142.250.0.90 translate.googleapis.com"
Done.
请按任意键继续...
此脚本可以重复使用。添加规则后再次使用时会出现交互提示信息,输入 1 会尝试更新已添加规则的 IP 地址,如果没有变化则不做任何修改,输入 2 会删除已添加的规则。
● Windows 系统(手动修改)
由于 hosts 文件属于系统文件,因此需要用到系统管理员身份。这里推荐【以管理员身份运行】系统自带的“记事本”程序,通过其菜单中的【打开】按如下路径打开 hosts 文件(注意,记事本程序默认只显示文本文件,需要将“文件类型”要选为所有才能看到 hosts 文件):
C:\Windows\System32\drivers\etc\hosts
最后像下面这样将你所获取到的 IP 和 Google 翻译 API 的域名组合成一条 hosts 规则,并将其添加到 hosts 文件中的最后一行,保存文件后 Chrome 翻译功能即可恢复正常使用。
142.250.0.90 translate.googleapis.com
如果今后想要删掉添加的这条规则,和添加时的操作一样,打开 hosts 文件将其删除即可。
● macOS 系统(自动修改)
为简化操作,书伴将手动修改 hosts 文件的步骤写成了 Shell 脚本,只需一键即可完成所有修改步骤。脚本托管在 GitHub Gist 上,你可将其下载到本地使用,或使用下面更简单的方法。
打开“终端”,拷贝以下命令并将其粘贴到终端上,按回车,输入你的系统密码,再按回车。注意,输入密码时是不显示任何信息的,只要确保输入的密码是正确的就可以。
sudo bash -c "$(curl -skL https://fere.link/ow3cld)"
运行命令后需要选择 IP 添加方式,输入 1 并回车会自动添加可用 IP,输入 2 并回车可手动输入可用 IP。出现如下提示表示规则添加成功,即可正常使用 Chrome 谷歌翻译功能。
Adding the rule "142.250.0.90 translate.googleapis.com"
Done.
* 提示:终端打开的方式为,打开“访达(Finder)”,在左侧边栏找到并进入“应用程序(Applications)”文件夹,在里面找到并进入“实用工具(Utilities)”文件夹,在这里面就可以找到“终端(Terminal)”,双击打开。
* 注意:由于代码是托管在 GitHub 的,因此在请求 URL 的时候可能会遇到网络不通畅的情况,如果运行命令后长时间没反应,建议按 Ctrl + C 中止运行,然后再重新运行一遍上面的命令,一般最多尝试两三次。
此命令可以重复使用。添加规则后再次使用时会出现交互提示信息,输入 1 会尝试更新已添加规则的 IP 地址,如果没有变化则不做任何修改,输入 2 会删除已添加的规则。
● macOS 系统(手动修改)
由于 hosts 文件是系统文件,因此对其进行编辑需要用到管理员身份。这里推荐以管理员身份通过系统自带的 vim 编辑器打开 hosts 文件。具体方法为,在终端上运行以下命令并回车,在出现密码提示后输入你为当前账户设置的登录密码再按回车即可打开。
sudo vim /etc/hosts
最后像下面这样,将你所获取到的 IP 和谷歌翻译 API 的域名组合成一条 hosts 规则,并将其添加到 hosts 文件中的最后一行,保存文件后 Chrome 翻译功能即可恢复正常使用。
142.250.0.90 translate.googleapis.com
添加的具体方法为,先按住【Shift】键,然后双击字母【G】键,将文本光标定位到最后一行,然后按字母【O】键进入插入模式,将上述规则输入(或粘贴)进来。最后按【Esc】键退出插入模式,输入 :x
保存并退出 vim 编辑器。文件保存成功后,Chrome 翻译功能即可恢复正常。
如果今后想要删掉添加的这条规则,和添加时的操作一样,打开 hosts 文件将其删除即可。
● Kindle 系统
如果你的 Kindle 已经越狱,并且安装了 KOReader,可能会使用其内置的谷歌翻译功能,由于此功能也依赖谷歌翻译 API,因此需要修改 Kindle 系统的 hosts 文件使其恢复正常。
同样,你可以通过书伴提供的工具自动修改或手动修改 Kindle 系统的 hosts 文件,但是限于篇幅,具体操作步骤请查看《一键修复 KOReader 中的谷歌翻译功能》一文。
以上便是恢复 Chrome 谷歌翻译功能正常使用的两种方法。修改 hosts 的方法很可能有时效性,如果有一天 Google 不再提供类似的共享 IP 机制,或者可用的 IP 地址越来越少,则可能会像当初 Google 搜索那样最终无法使用。最后,可能只剩下网络代理这一种方法。
© 「书伴」原创文章,转载请注明出处及原文链接:https://bookfere.com/post/1020.html
延伸阅读
- 如何通过 WiFi 把手机中的电子书传送到 Kindle
- 聂日明:小镇做题家式思维的问题在哪里?
- 第三代 Kindle Oasis(2019)都有那些改进?
- 三步搞定!Kindle Paperwhite 2 越狱教程
- Paperwhite 和 Voyage 有何不同,选哪个更好?
- [每周一书]《亲爱的安德烈》两代人的对话与思想碰撞
- Kindle 标注功能改动导致 My Clippings.txt 出现重复内容
- 全新亚马逊 Kindle Oasis 上手评测视频总汇
- Calibre 使用教程之为电子书添加更换字体
- [每周一书]《查令十字街 84 号》爱书人的圣经
- [每周一书] 完整而全面的自由主义理论《论自由》
- Kindle 按阅读页数付费对读者和作者会有何影响?
- 杨绛谈读书:乐在其中,读书好比串门儿
- Kindle 新界面中容易让人迷惑的几处小变动
- [每周一书]《金钱不能买什么》市场与道德的冲突
假如是用v2rayN的,可以看一下这篇文章,不用改IP啥的省心一点
https://github.com/2dust/v2rayN/issues/2671
这个命令行自动属实NB
因为谷歌现在多少不太方便。这几年已经开始主力用edge了。手机到pc都用。必应翻译也不错
阻止蠢货们上网是有必要的,洗脑是有成效的,昨天就有个二货说墙国多牛逼,牛逼到美国处处打压它。笑死了
蠢货不配上网,哈哈=,=
绷不住了
可以,非常好用
为啥要用google翻译? DeepL的翻译质量比Google要好。推荐使用
因为可以直接在浏览器上翻译整个网页非常方便
修改 hosts不能用了把,我换了好几个ip都不行
只要找到可用的 IP 修改 hosts 文件的方法还是有效的。文中提供的 IP 可以都试试看,我这里都能用。
请问使用V2RAY,应该怎么设置
如果你使用的代理是全局的,不需要额外的设置应该就能正常使用翻译功能。如果不是全局的,可以为 Chrome 浏览器安装 SwitchyOmega 插件,使用它的自动切换功能,即无法正常访问的域名才会使用代理。SwitchyOmega 的用法很简单,先在插件设置中新建一个情景模式,填上代理提供的 IP 和 端口,然后添加一条规则,并选择你填写的那个情景模式就可以了。
我就是v2ray,设置-路由设置,在路由高级功能模式下,双击你使用的规则。打开后,找到proxy,右键“上移至顶”,然后双击打开,在domain栏输入translate.googleapis.com。以上。
两个关键点:一个是网址前不要有*.,另一个是规则一定要上移至顶,不然谷歌翻译的请求从上到下匹配,就先匹配到其他规则路由走了。
Mac可以打开“命令提示符”或“终端”,然后运行命令 ping google.cn ,但是发现网络和 Google 服务器的并不连通,那应该怎么处理呢?
修改 hosts 的方法已经失效了,建议使用网络代理。
windows修改hosts2022年10月24日实测是没有失效的,但需要有效的ip地址
请问您现在还可以使用IP吗?我的貌似这两天又失效了
目前有效ip
172.253.114.90 translate.googleapis.com
172.217.203.90 translate.googleapis.com
172.253.112.90 translate.googleapis.com
142.250.9.90 translate.googleapis.com
172.253.116.90 translate.googleapis.com
142.250.97.90 translate.googleapis.com
142.250.30.90 translate.googleapis.com
142.250.111.90 translate.googleapis.com
172.217.215.90 translate.googleapis.com
142.250.11.90 translate.googleapis.com
142.251.9.90 translate.googleapis.com
108.177.122.90 translate.googleapis.com
142.250.96.90 translate.googleapis.com
142.250.100.90 translate.googleapis.com
142.250.110.90 translate.googleapis.com
172.217.214.90 translate.googleapis.com
172.217.222.90 translate.googleapis.com
142.250.31.90 translate.googleapis.com
142.250.126.90 translate.googleapis.com
142.250.10.90 translate.googleapis.com
172.217.195.90 translate.googleapis.com
172.253.115.90 translate.googleapis.com
142.251.5.90 translate.googleapis.com
142.250.136.90 translate.googleapis.com
142.250.12.90 translate.googleapis.com
142.250.101.90 translate.googleapis.com
172.217.192.90 translate.googleapis.com
142.250.0.90 translate.googleapis.com
142.250.107.90 translate.googleapis.com
172.217.204.90 translate.googleapis.com
142.250.28.90 translate.googleapis.com
142.250.125.90 translate.googleapis.com
172.253.124.90 translate.googleapis.com
142.250.8.90 translate.googleapis.com
谢谢分享!已更新脚本,可以手动输入 IP 地址。
网络代理如何使用?
如果你使用的代理是全局的,不需要额外的设置应该就能正常使用翻译功能。如果不是全局的,可以为 Chrome 浏览器安装 SwitchyOmega 插件,使用它的自动切换功能,即无法正常访问的域名才会使用代理。SwitchyOmega 的用法很简单,先在插件设置中新建一个情景模式,填上代理提供的 IP 和 端口,然后添加一条规则,并选择你填写的那个情景模式就可以了。
如何能获取到代理提供的IP和端口?谢谢
一般可以在代理软件的设置或配置界面上找到。
Macos上v2ray 添加pac规则没有效果,想问一下应该怎么解决呢?
建议检查一下配置文件,搜索一下 googleapis.com 这个域名,看看是不是在规则中被设置为直连了,如果是的话删掉那个规则就可以了。
兄弟,好像不能用了
你可以打开“命令提示符”或“终端”,然后运行命令
ping google.cn
看看你的网络和 Google 服务器的连通情况。啊今天上午突然又不能用了 然后我又重复操作了一下 最后发现是代码添加的ip地址不是我的地址 我也不知道咋操作了几次 最后又添加对了。。。然后就能用了 反馈一下
我也是今天开始突然不能用了
看起来 Google 断开了翻译 API 和其它可用服务 IP 的关联。现在只能使用代理了。
好像这个方法失败了,我之前使用的是更改host,之前可以重新使用翻译功能,今天突然无法使用了
你可以打开“命令提示符”或“终端”,然后运行命令
ping google.cn
看看你的网络和 Google 服务器的连通情况。ping完没啥问题,但就是用不了怎么办呢?救救孩子
修改 hosts 文件的方法已经不可用了,建议用代理。
感谢,很有用。话说手机端怎么解决呢?
如果你有修改手机系统的权限,可以修改它的 hosts 文件,否则只能使用设置网络代理或使用 VPN。
是不是现在这个方法失效了? 之前正常 今天就用不了了
方法仍然是有效的。建议用“命令提示符”或“终端”运行命令
ping google.cn
查看一下你的网络和谷歌服务器的连通情况。SwitchyOmega代理*.translate.googleapis.com没有用
你指的是 Chrome 的内置翻译功能,还是谷歌翻译插件?另外,你用的是什么操作系统?
这篇文章解释很清楚哦 整个网页翻译 SwitchyOmega代理不到
我输MacOS系统,按照自动方法在终端操作,输入电脑密码回车后,又显示了我的电脑名称,没有出现成功的代码,作者知道这是什么情况吗?
谢谢反馈。之前的网址有点问题,现已修复,再重新运行命令试试看。
刚试了一下,还是和上面的情况一样,输入密码回车后是我的电脑名称
有可能是网络的问题导致的。现在我把代码放在了书伴的服务器上了,你重新运行一遍命令试试看。
还是不可以,估计是我电脑的问题吧
我在别人的电脑上测试了一下,也遇到了这个问题,貌似不是网络的问题,而是 macOS 自带的 curl 命令处理网站证书时出了问题。你可以尝试运行下面这行命令,应该就能正常运行了。如果有任何错误,终端应该会给出提示。
非常感谢!!!可以了
你好,我是Windows的,按照您给的步骤已经设置好了,但是现在打开谷歌浏览器的翻译还是显示无法访问此网页
你是指无法访问网页版谷歌翻译,还是说 Chrome 的内置的网页翻译功能不能用?如果是前者,网页版谷歌翻译只能通过网络代理访问,本文提供的方法不适用。如果是后者,可以在“命令提示符”中运行命令
ping -n 60 google.cn
看一下你的网络与谷歌服务器的连通情况是否正常。你好,是谷歌用不了,我刚下载了一个加速器就好了,谢谢你