-
Notifications
You must be signed in to change notification settings - Fork 378
常见问题
下面列出的是一些使用 Easydict 过程中可能遇到的常见问题。
- 为什么 Easydict 取词和 OCR 需要系统权限?
- 为什么在某些应用中取词文本为空?
- 为什么在某些应用中无法使用鼠标划词?
- 为什么某些应用取词时,左上角菜单编辑按钮会出现闪烁?
- 已经给 Easydict 辅助功能/录屏权限 macOS 仍然弹窗要求给予权限?
由于 macOS 平台严格的权限管理,某些功能必须开启相应的权限才能正常使用,具体来说:
- 需要开启
辅助功能
权限,Easydict 才能获取到用户当前选中的文本; - 需要开启
屏幕录制
权限,Easydict 才能使用截图翻译功能。
Easydict 是开源软件,如果你有任何隐私方面的担忧,可以查看代码。
Important
注意,上述两种权限会在 Easydict 第一次使用对应功能时自动请求授权,如若授权失败,后续需自己去系统设置中开启。
Easydict 取词方案的优先级顺序:Accessibility > AppleScript > 模拟快捷键 ⌘ + C
。
优先使用系统辅助功能 Accessibility 取词,在 Accessibility 取词失败(未授权或应用不支持)时,如果是浏览器应用(如 Safari, Chrome),会尝试使用 AppleScript 取词。若 AppleScript 取词还是失败,最后则尝试强制取词——模拟快捷键复制取词。
因此,如果存在一个极端应用,既不支持 Accessibility,又不支持 AppleScript(或未开启),甚至还禁止了复制功能(⌘ + C
),例如在 Safari 中访问 CSDN 页面,此时就会出现取词为空的情况 😑
因此,建议开启浏览器中的 允许 Apple 事件中的 JavaScript
选项,这样可以避免某些网页的事件拦截,例如 CSDN,或者这种 网页强制附带版权信息 问题,优化取词体验。
对于 Safari 用户,强烈建议开启该选项,因为 Safari 不支持 Accessibility 取词,而 AppleScript 取词体验远优于模拟快捷键取词。
Note
为改进快捷键取词体验,在 Accessibility 和 AppleScript 取词失败时,会自动进行模拟快捷键 ⌘ + C
取词。
默认只有支持 Accessibility 功能的应用,或支持 AppleScript 的浏览器才能使用鼠标划词,如遇到不能鼠标划词的应用,请先尝试在设置中开启 强制划词
功能。
如果还是不行,请参考 特定应用中无法使用划词翻译 提交 issue。
Warning
注意:该功能为实验功能,开启后可能会导致某些应用的 ⌘ + C
复制功能出现异常。
Tip
如果只想关闭某些应用的鼠标划词,请到【设置-禁止名单】添加该应用。
这是已知问题,当使用 Accessibility 取词失败,会尝试模拟快捷键 ⌘ + C
强制取词,这个操作会触发【编辑 - 复制】动作,在某些应用上就会闪一下。
如果浏览器出现这种问题,请开启 允许 Apple 事件中的 JavaScript
选项。
- 请到
设置
->隐私与安全性
->辅助功能
-> 点击-
将 Easydict 从列表中移除再重新添加(⚠️ 注意,是移除,不是关闭再打开!)。
上面是划词权限,截图翻译权限也类似:设置
-> 隐私与安全性
-> 录屏与系统录音
- 如果方法 1 无效,可尝试在终端使用命令重置 Easydict 的权限:
tccutil reset Accessibility com.izual.Easydict
tccutil reset ScreenCapture com.izual.Easydict
之后重启电脑,重新启动 Easydict 授权。
- 如果方法 2 仍无效,请尝试使用下面命令重置所有 App 的辅助功能权限:
tccutil reset Accessibility
之后重启电脑,重新启动 Easydict 授权。
如果上述方式都不行,请开 issue 反馈。