Closed plainround closed 9 months ago
主要是我在纠结,以前的 联动翻译功能 对于普通用户不太容易理解,不够优雅。我在思考怎么能更有机的整合翻译方案。未来我是希望让Umi本身能实现翻译功能的。
对于目前版本,截图联动功能的实现是非常简单的,有需要的用户可以参考下述步骤在代码中开启:
UmiOCR-data\py_src\tag_pages\ScreenshotOCR.py
def _onEnd
的末尾,self.callFunc(update)
的后面,添加如下代码(句首空格必须与这里一样): from pynput import keyboard
def send(keyList):
for i in range(len(keyList)):
if hasattr(keyboard.Key, keyList[i]):
keyList[i] = getattr(keyboard.Key, keyList[i]).value
with keyboard.Controller().pressed(*tuple(keyList)):
pass
send(["ctrl", "c"])
想修改按键种类或次数,改动最后一行的 send 即可,比如改成 alt+ctrl+shift+v 三次:
send(["alt", "ctrl", "shift", "v"])
send(["alt", "ctrl", "shift", "v"])
send(["alt", "ctrl", "shift", "v"])
非常感谢您的帮助,对您开发开源程序依然力求用户友好的态度感到十分敬佩。 我发现如果只发送一遍按键,在选项 弹出主窗口 关闭时,且umiocr程序最小化到右下角托盘的情况下,程序获取到ocr结果,但第三方词典没反应。 选项 弹出主窗口 打开时,则有反应。 设置发送两次按键就没有这个问题了。 目前的代码是
def send(keyList):
for i in range(len(keyList)):
if hasattr(keyboard.Key, keyList[i]):
keyList[i] = getattr(keyboard.Key, keyList[i]).value
with keyboard.Controller().pressed(*tuple(keyList)):
pass
send(["ctrl", "c", "c"])
send(["ctrl", "c", "c"])
目前没有问题。
https://github.com/hiroi-sora/Umi-OCR/issues/160 https://private-user-images.githubusercontent.com/56373419/246670568-8b4da183-d4f9-4f06-b39f-2fab85d37d80.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDg4MzgxNTcsIm5iZiI6MTcwODgzNzg1NywicGF0aCI6Ii81NjM3MzQxOS8yNDY2NzA1NjgtOGI0ZGExODMtZDRmOS00ZjA2LWIzOWYtMmZhYjg1ZDM3ZDgwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAyMjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMjI1VDA1MTA1N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc2YmZjM2M4OGNjYjk2ZmYzODI2ZmM3YjI5ZGNlZjdmMDhlM2IzNzkzOGI0MjEwY2QyNDkwOThmYzlkZTk1MmYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.SQgMFVbhZ4na5ned7WMNG0QOEVkqwTdod48cToJn_XQ https://github.com/hiroi-sora/Umi-OCR/issues/146 就是这个V2.0有计划但发布后尚未实现的功能。
目前我使用umiocr实现操作需要三步, win+alt+c 开启ocr功能/框选截取词语图片/ctrl+c+c 触发goldendict快捷键, 如果实现这个功能在截图后直接发送快捷键,就能简化到两步,非常方便。
虽然也有替代方法https://forum.freemdict.com/t/topic/7166 但需要开机自启额外的软件,每次重新配置也有点麻烦,而且umiocr用户体验更好,如果能实现这个功能,对学习很有帮助!
此外关于这一翻译功能,个人理解在线翻译,虽然适合快速阅读大量外语,但如果是为了学习语言,准确理解词意用法,还是本地的goldendict这样的本地词典软件搭配专业词典资源更合适。 关于词典软件不支持翻译句子,现在也已经有不错的解决方案https://github.com/xinebf/google-translate-for-goldendict