自 2022 年 9 月 28 日起,谷歌翻译退出了中国市场,具体表现为 https://translate.google.cn 打开后会显示 translate.google.com.hk
,不再是真正的谷歌翻译网站,这也导致划词翻译里的谷歌翻译不能正常使用了。
根据用户反馈整理了以下解决方案,这些解决方案全都只适用于”速度快、准确率低”的谷歌翻译。”速度慢、准确率高”的谷歌翻译暂时不能用,会在以后解决。
最新推荐方案:修改 hosts(无需梯子)
此方案最简单,因为无需梯子。如果你不会用梯子(或者不知道“梯子”指的是什么),那么你只能用这个方案。此方案很有可能会在未来失效,建议提前准备好梯子并使用其它解决方案。
Windows 系统(手动修改)
打开“命令提示符”,输入以下命令并回车:nslookup google.cn
由于 hosts 文件属于系统文件,因此需要用到系统管理员身份。这里推荐【以管理员身份运行】系统自带的“记事本”程序,通过其菜单中的【打开】按如下路径打开 hosts 文件(注意,记事本程序默认只显示文本文件,需要将“文件类型”要选为所有才能看到 hosts 文件):
1 |
C:\Windows\System32\drivers\etc\hosts |
最后像下面这样将你所获取到的 IP 和 Google 翻译 API 的域名组合成一条 hosts 规则,并将其添加到 hosts 文件中的最后一行,保存文件后谷歌翻译即可恢复正常使用。
如果今后想要删掉添加的这条规则,和添加时的操作一样,打开 hosts 文件将其删除即可。
macOS 系统(手动修改)
打开“终端”,输入以下命令并回车:nslookup google.cn
如果联网正常,可以获取到类似下面这样的信息,其中最后一行就是可用的 IP 地址:
由于 hosts 文件是系统文件,因此对其进行编辑需要用到管理员身份。这里推荐以管理员身份通过系统自带的 vim 编辑器打开 hosts 文件。具体方法为,在终端上运行以下命令并回车,在出现密码提示后输入你为当前账户设置的登录密码再按回车即可打开。
最后像下面这样,将你所获取到的 IP 和谷歌翻译 API 的域名组合成一条 hosts 规则,并将其添加到 hosts 文件中的最后一行,保存文件后谷歌翻译即可恢复正常使用。
添加的具体方法为,先按住 Shift,然后双击 G,将文本光标定位到最后一行,然后按 O 进入插入模式,将上述规则输入(或粘贴)进来。最后按 esc 退出插入模式,输入 :x 保存并退出 vim 编辑器。文件保存成功后,谷歌翻译即可恢复正常。
如果今后想要删掉添加的这条规则,和添加时的操作一样,打开 hosts 文件将其删除即可。
将下面这串代码复制到记事本中打开:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
:: Copyright (c)2022 https://bookfere.com :: This is a batch script for fixing Google Translate and making it available :: in the Chinese mainland. If you experience any problem, visit the page below: :: https://bookfere.com/post/1020.html @setlocal enabledelayedexpansion @echo off set "source_domain=google.cn" set "target_domain=translate.googleapis.com" set "hosts_file=C:\Windows\System32\drivers\etc\hosts" for /f "skip=4 tokens=2" %%a in ('"nslookup %source_domain% 2>NUL"') do set ip=%%a set "old_rule=null" set "new_rule=%ip% %target_domain%" for /f "tokens=*" %%i in ('type %hosts_file%') do ( set "line=%%i" :: Retrieve the rule If the target domain has been exists in the line. if not "!line:%target_domain%=!"=="%%i" set "old_rule=%%i" ) if not "%old_rule%"=="null" ( if not "%old_rule%"=="%new_rule%" ( echo Deleting the rule "%old_rule%" echo Adding the rule "%new_rule%" for /f "tokens=*" %%i in ('type "%hosts_file%" ^| find /v /n "" ^& break ^> "%hosts_file%"') do ( set "rule=%%i" set "rule=!rule:*]=!" if "%old_rule%"=="!rule!" set "rule=%new_rule%" >>%hosts_file% echo(!rule! ) ) else ( echo The rule already exists, nothing to do. ) ) else ( echo Adding the rule "%new_rule%" echo.>>%hosts_file% echo.>>%hosts_file% echo # Fix Google Translate CN>>%hosts_file% echo %new_rule%>>%hosts_file% ) echo Done. pause |
保存后,将文件后缀改为.bat
右键,以管理员方式运行,结束,即可正常使用。
Views: 9