LunaTranslator 在 HOOK 模式下临时使用 OCR:一次识别、无缝回流的实战指南
LunaTranslator 在 HOOK 模式下临时使用 OCR一次识别、无缝回流的实战指南【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslatorHOOK文本钩子模式是 LunaTranslator 从游戏中提取文本的主要方式但当游戏菜单、选择肢等界面文字无法被 Hook 捕获时许多玩家会陷入切到 OCR 模式识别、再切回 HOOK 模式的繁琐循环。本文讲解 LunaTranslator 内置的进行一次 OCR与再次进行 OCR两个工具按钮及对应快捷键说明它们如何在 HOOK 模式下完成单次 OCR 识别后无缝回流到 Hook 自动提取并结合源码剖析其底层调用链与配置方式帮助你彻底告别模式切换的烦恼。为什么 HOOK 模式需要临时 OCRHOOK 模式通过注入文本钩子从游戏内存中直接拦截文本输出速度快、翻译连贯是视觉小说翻译的主流方式。但它并非万能游戏菜单、系统选项、选择肢选项列表、文本框之外的 UI 提示等文字往往以贴图或非标准文本形式渲染无法被钩子捕获此时屏幕上会缺少可翻译的文本来源。面对这类缺口直观的思路是切换到 OCR光学字符识别模式框选区域识别后再切回 HOOK 模式。但频繁的模式切换既打断翻译节奏也需要重新配置。LunaTranslator 早已为此提供了内置方案进行一次 OCRPerform OCR Once按钮与快捷键在 HOOK 模式下即可完成识别一次、立即回流的闭环操作。进行一次 OCR单次识别后无缝回到 HOOK按钮与快捷键工具按钮进行一次 OCR按钮默认图标为裁剪/框选样式Font Awesome 的fa-crop位于主界面工具栏中。快捷键默认绑定为_26键名显示为进行一次 OCR可在快捷键设置界面查看或修改。该按钮默认处于激活状态。根据默认配置 config.jsonocr_once: { use: true, tip: 进行一次OCR, icon: fa.crop, align: 2 }完整工作流程点击按钮后LunaTranslator 会弹出与 OCR 模式完全一致的范围选择框你可以直接用鼠标框选出屏幕上需要识别的区域例如某个菜单选项或选择肢。选定范围后程序只执行一次OCR 识别随后自动退出 OCR 流程无缝回到 HOOK 模式的自动文本提取状态不会中断后续的 Hook 翻译。从源码看这一流程的调用链清晰完整translatorUI.pydef ocr_once_function(self): def ocroncefunction(rect, imgNone): self.ocr_once_follow_rect rect self.ocr_do_function(rect, img) rangeselct_function(ocroncefunction, hideshowTrue)关键步骤逐一对应框选范围rangeselct_function见 rangeselect.py创建原生范围选择窗口hideshowTrue表示在选择期间会临时隐藏翻译窗口与 OCR 范围框move(-9999, -9999)并调用pause_recognition()暂停文本识别避免干扰选区。记录选区回调将选区rect保存到ocr_once_follow_rect供再次进行 OCR复用。执行单次识别ocr_do_functiontranslatorUI.py先通过imageCut(0, rect)截取对应屏幕区域图像再调用ocr_run(img)执行一次 OCR结果经textgetmethod(result, is_auto_runFalse)送入翻译流程——注意is_auto_runFalse意味着这次识别只做一次、不会进入 Hook 的循环自动识别。也就是说进行一次 OCR的本质是借 OCR 引擎完成一次静态识别然后把结果交给现有翻译管线而文本源仍然保持 HOOK 模式不动。这也正是它能识别完自动回流的原因识别过程是临时、一次性、旁路式的不改变当前文本源状态。常见误区图标雷同导致的误用值得特别提醒的是进行一次 OCR按钮与 OCR 模式下选取识别范围按钮selectocrrange同样使用fa.crop图标默认图标完全相同。这一设计导致不少本打算使用 OCR 的玩家误以为它就是 OCR 模式按钮在 HOOK 模式下点击该按钮、框选范围后并不会像 OCR 模式那样持续自动翻译只会识别一次。真正的 OCR 模式按钮如selectocrrange、hideocrrange带有belong: [ocr]归属标记只有在切换到 OCR 模式后才会在工具栏显示由buttondisplaychecker依据sourcestatus2中的文本源状态动态判断见 translatorUI.py。因此请先确认当前是否处于 HOOK 模式若在 HOOK 模式下看到fa-crop图标按钮它执行的是单次 OCR若希望持续 OCR 翻译请先切换文本源到 OCR 模式届时才会出现完整的 OCR 模式工具栏。再次进行 OCR固定位置选择肢的重复识别对于固定位置的选择肢或菜单每次出现位置不变反复框选区域显然低效。LunaTranslator 为此提供了再次进行 OCR能力工具按钮再次进行 OCR按钮默认图标为旋转/刷新样式fa.spinner。快捷键默认绑定为_26_1键名显示为再次进行 OCR。该按钮会直接复用上一次进行一次 OCR时保存的选区ocr_once_follow_rect无需再次框选即可再执行一次 OCR# hotkey.py 中 _26_1 的绑定 lambda: gobject.base.translation_ui.ocr_do_function( gobject.base.translation_ui.ocr_once_follow_rect )从默认配置可以看到该按钮默认关闭config.jsonocr_once_follow: { use: false, tip: 再次进行OCR, icon: fa.spinner, align: 2 }如需使用可在工具栏配置中将其开启或直接使用对应快捷键。典型使用场景是游戏每进入一次选择肢都出现在同一位置第一次用进行一次 OCR框选后后续每次只需按一次再次进行 OCR快捷键即可用上次的选区快速识别当前选项。快捷键与配置管理两个功能对应的快捷键条目为_26进行一次 OCR与_26_1再次进行 OCR在快捷键分组中归属于OCR组见 hotkey.py[OCR, [_13, _14, _14_1, _26, _26_1, 46, 47, 48, 49]],内置快捷键名称与默认按键值可在 config.json 中查看若要修改默认按键请在程序快捷键设置界面中重新录制。按钮的显隐与图标、提示文字则由toolbutton.buttons配置控制上文两个配置片段即来源于此。如果希望自定义更复杂的触发逻辑LunaTranslator 还支持自定义快捷键模板myhotkeys/{name}.py模板见 template/hotkey.py可在其中调用translation_ui.ocr_once_signal.emit或ocr_do_function实现同样的单次识别能力。选区外观与精度参数框选范围时的一些视觉与精度参数同样来自 OCR 相关配置rangeselect.pyocrselectalpha选区遮罩透明度默认0.3ocrrangecolor选区边框颜色默认#000000ocrrangewidth选区边框宽度默认1。这些参数可在设置界面调整以获得更清晰的框选视觉反馈。总结能力按钮快捷键说明进行一次 OCRfa.crop默认开启_26框选区域后执行一次 OCR自动回流 HOOK 模式再次进行 OCRfa.spinner默认关闭_26_1复用上次选区再执行一次 OCR适合固定位置选择肢使用要点HOOK 模式下遇到菜单、选择肢等无法 Hook 的文字时直接用进行一次 OCR框选即可识别一次后自动回到 Hook 自动提取无需切换模式。牢记fa.crop图标在 HOOK 模式与 OCR 模式下含义不同HOOK 模式下它是单次识别OCR 模式下的持续识别按钮只在切换文本源后才会出现。固定位置的选择肢配合再次进行 OCR快捷键可做到框选一次、反复识别。相关源码与文档索引中文版使用指南、英文版使用指南、主界面实现、快捷键绑定、默认配置、范围选择实现。【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

电磁-热耦合仿真:Maxwell与Steady-State Thermal联合求解完整指南

电磁-热耦合仿真:Maxwell与Steady-State Thermal联合求解完整指南

1. 电磁设备发热这档事,为什么必须把两个求解器绑在一起干过电磁仿真的人基本都遇到过这种场景:电磁阀持续通电半小时,外壳烫得不敢摸;电机堵转状态下绕组温度直线飙升;高频变压器满载运行时,磁芯热到失去磁…

2026/11/15 16:18:52 阅读更多 →
3步跑通:用 douyin-downloader 批量下载无水印抖音作品

3步跑通:用 douyin-downloader 批量下载无水印抖音作品

3步跑通:用 douyin-downloader 批量下载无水印抖音作品 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback supp…

2026/10/24 19:17:37 阅读更多 →
MOLDFLOW模流分析实战:从缺陷预测到工程应用

MOLDFLOW模流分析实战:从缺陷预测到工程应用

干了这么多年注塑,我见过太多这样的场景:模具开好了,上机试模,结果产品填充不满,或者变形超差、缩痕明显。然后一群人围着模具开会,讨论是改浇口还是加冷却,最后模具拉回车间又是两周工期&#…

2026/10/25 5:11:45 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/15 5:13:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/15 5:13:35 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/15 5:13:35 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/15 3:37:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/15 4:18:38 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/15 5:13:35 阅读更多 →

日新闻

周新闻

月新闻