从HOOK到TTS:LunaTranslator全功能模块使用教程

【免费下载链接】LunaTranslator Galgame翻译器,支持HOOK、OCR、剪贴板等。Visual Novel Translator , support HOOK / OCR / clipboard 【免费下载链接】LunaTranslator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator

LunaTranslator作为一款专业的Galgame翻译工具,集成了HOOK、OCR、文本处理、内嵌翻译及TTS(文本转语音)等核心功能模块。本文将系统讲解各模块的配置方法与实战技巧,帮助玩家快速掌握从文本提取到语音合成的完整流程。

核心功能架构概览

LunaTranslator采用模块化设计,主要包含五大功能模块:

  • 文本提取:通过HOOK技术或OCR识别获取游戏文本
  • 文本处理:去重、过滤、格式修正等预处理
  • 翻译引擎:支持DeepL、Google等30+翻译服务
  • 展示方式:内嵌游戏界面或窗口显示
  • 语音合成:将翻译文本转换为自然语音

核心源码结构:

HOOK模式:精准提取游戏文本

HOOK模式通过注入游戏进程直接获取原始文本,适用于大多数Unity、Ren'Py等引擎开发的Galgame。

基础操作流程

  1. 启动游戏后,在LunaTranslator中点击「选择进程」按钮
  2. 从进程列表中选择游戏主程序(通常与游戏exe同名)
  3. 注入完成后,游戏会显示文本选择窗口,待游戏对话出现后选择正确的文本行

THE 0TH POSITION OF THE ORIGINAL IMAGE

高级配置技巧

  • 刷新延迟调整:当文本出现碎片化(如逐字显示)时,在HOOK设置中提高「刷新延迟」至200-500ms
  • 特殊码使用:对复杂引擎可自定义HOOK规则,格式示例:HWS@0x00401000:game.exe
  • 多进程管理:通过「游戏管理」面板可保存多个游戏的HOOK配置,切换游戏时自动加载对应参数

技术原理:HOOK通过修改游戏内存中字符串渲染函数(如DrawTextA/W)的执行流程,在文本显示前捕获内容。核心实现见src/LunaTranslator/windows.py中的inject_hook方法。

OCR模式:图像文本识别方案

当HOOK提取失败时(如加密引擎或模拟器环境),OCR模式可通过识别游戏画面中的文字区域获取文本。

高效识别配置

  1. 区域选择:使用「截图工具」划定文本显示区域,建议框选对话框而非全屏
  2. 触发方式:在OCR参数设置中选择:
    • 周期执行:固定间隔截图(适合静态文本)
    • 鼠标触发:点击游戏窗口时触发识别(适合ADV类游戏)
  3. 精度优化
    • 图像稳定性阈值:动态背景游戏建议设为0.8-0.9
    • 文本相似度阈值:减少重复识别设为0.3-0.5

THE 1TH POSITION OF THE ORIGINAL IMAGE

高级应用技巧

  • 窗口绑定:通过「绑定窗口」功能使OCR区域随游戏窗口移动,实现多显示器场景自适应
  • 引擎选择
    • 本地识别:mangaocr.py适合日文竖排文本
    • 云端服务:百度OCR需配置API密钥,支持多语言混合识别
  • 错误修正:在「文本处理」中启用「过滤非日语字符」可去除识别噪声

文本处理:提升翻译质量的关键步骤

原始提取的文本常包含冗余信息或格式错误,需通过预处理提升翻译准确性。

常用处理方案

问题类型 推荐处理方式 配置路径
重复字符 HOOK去除重复行 文本处理
HTML标签 过滤尖括号<> 文本处理
控制字符 过滤控制字符 文本处理
自定义规则 正则替换 翻译优化 > 字符串替换

复杂场景解决方案

  • 多行合并:激活「过滤换行符」并设置替换为空格,避免句子断裂
  • 动态修正:编写Python脚本自定义处理逻辑,示例:
    def POSTSOLVE(line):
        # 移除游戏内变量标记
        return re.sub(r'\{.*?\}', '', line)
    

    脚本文件保存路径:userconfig/mypost.py

处理流程:文本处理模块采用责任链模式,各过滤器按配置顺序执行。可在「文本处理」面板调整执行顺序,核心代码见src/LunaTranslator/transoptimi/

内嵌翻译:无缝游戏体验

支持内嵌的游戏可将翻译结果直接显示在游戏画面中,实现"原生汉化"效果。

启用流程

  1. 在文本选择窗口确认存在「内嵌」按钮(无此按钮表示不支持)
  2. 激活后配置显示模式:
    • 覆盖原文:直接替换游戏内文本
    • 双语显示:原文下方添加翻译(需游戏支持多行显示)
  3. 解决乱码:
    • 字体问题:启用「修改游戏字体」并选择支持中文的字体文件
    • 字符集转换:勾选「将汉字转换成繁体/日式汉字」

THE 2TH POSITION OF THE ORIGINAL IMAGE

性能优化

  • 翻译等待时间:设置为500-1000ms,平衡响应速度与翻译质量
  • 安全性检查:开启「内嵌安全性检查」可过滤可能导致崩溃的特殊字符
  • 缓存机制:已翻译文本自动缓存,重复文本无需重新翻译

TTS语音合成:听觉维度的沉浸体验

TTS模块可将翻译文本转换为语音输出,支持多种语音引擎和角色声线。

引擎配置指南

引擎类型 特点 配置路径
Windows TTS 系统内置,支持多语言 语音合成引擎
VOICEVOX 日系动漫声线 需独立启动VOICEVOX服务器
GPT-SoVITS AI自定义声线 配置API地址和模型参数

实用功能

  • 语音角色切换:通过「TTS设置」为不同角色分配专属声线
  • 朗读控制:游戏内快捷键(默认Ctrl+S)可暂停/继续朗读
  • 语速调整:根据语音引擎特性,建议日语设置1.0-1.2倍速

实现原理:TTS模块采用适配器模式设计,统一调用接口见basettsclass.py,各引擎通过继承该类实现具体功能。

多场景实战配置

场景一:传统ADV游戏(HOOK+内嵌)

  1. HOOK设置:刷新延迟200ms,启用「HOOK去除重复行」
  2. 翻译引擎:选择DeepL(deepl_1.py
  3. 内嵌配置:显示模式设为「仅翻译」,字体选择「微软雅黑」

场景二:模拟器游戏(OCR+TTS)

  1. OCR设置:窗口绑定模拟器进程,识别区域框选对话框
  2. 文本处理:启用「过滤数字」和「字符串替换」(去除模拟器按键提示)
  3. TTS配置:使用VOICEVOX引擎,角色选择「春日部つむぎ」

场景三:多开翻译(多配置文件)

通过命令行参数启动多个实例:

LunaTranslator.exe --userconfig=GameA
LunaTranslator.exe --userconfig=GameB

每个配置文件独立保存HOOK/OCR参数,实现同时翻译不同游戏。

总结与进阶方向

LunaTranslator通过模块化设计满足不同游戏场景的翻译需求,核心功能已覆盖从文本提取到语音输出的完整流程。进阶玩家可关注:

  • 插件开发:通过translator/模板添加自定义翻译引擎
  • 性能优化:修改「最大缓存文本长度」(默认1000000)可减少内存占用
  • 社区资源:官方文档docs/zh/提供更多游戏适配案例和故障排除指南

提示:遇到问题时,可先查阅常见问题或在「帮助」菜单中提交反馈日志。日志文件路径:userconfig/logs/

掌握这些功能后,您将能够为绝大多数Galgame构建高效的翻译环境,享受无障碍的游戏体验。随着版本迭代,更多AI辅助功能(如语境感知翻译)也将逐步加入,敬请期待。

【免费下载链接】LunaTranslator Galgame翻译器,支持HOOK、OCR、剪贴板等。Visual Novel Translator , support HOOK / OCR / clipboard 【免费下载链接】LunaTranslator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐