Skip to content

实现对Galgame文本的抓取与翻译功能

Notifications You must be signed in to change notification settings

timzhong2000/LightWeight_VNR

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LightWeight_VNR


说明

  • 本项目可通过向游戏列表添加游戏从而打开,并可转区运行
  • 本项目可调用Textractor来抓取Galgame的游戏文本
  • 本项目可调用Tesseract-OCR抓取文字,支持日文简体中文繁体中文英文
  • 本项目可调用JBeijing有道词典百度翻译来实现翻译功能
  • 本项目可调用Yukari2等TTS来实现文本阅读功能

使用方法

游戏列表

  • 填好游戏名称程序目录启动方式特殊码(没有可不填)后添加即可
    • 程序目录启动方式必须填,游戏名称若为空,添加时将程序名作为游戏名称
    • 转区运行需在设置中设置Locale Emulator路径
  • 修改游戏信息后按添加即可修改信息
  • 选择一项游戏后按删除即可删除
  • 选择一项游戏后按启动游戏即可启动游戏,并自动启动Textractor注入dll

Textractor

  • 设置Textractor目录,确保目录下有TextractorCLI.exetexthook.dll
  • 点击启动TR,选择游戏进程,再Attach注入dll,之后选择钩子固定即可
  • dll注入后,游戏进程不关,则再次打开程序只需启动TR即可,无需再Attach
  • 特殊码使用之前必须确保dll已注入,且特殊码格式必须正确
  • 若文本抓取出现问题,可尝试终止TR后再启动TR

OCR

  • 设置Tesseract-OCR路径
    • 确保目录下有tessdatalibgcc_s_seh-1.dll.libgif-7.dlllibgomp-1.dlllibjbig-2.dlllibjpeg-8.dllliblept-5.dllliblzma-5.dlllibopenjp2.dlllibpng16-16.dlllibstdc++-6.dlllibtesseract-5.dlllibtiff-5.dlllibwebp-7.dlllibwinpthread-1.dlltesseract.exezlib1.dll
    • 确保tessdata目录下有chi_sim.traineddatachi_sim_vert.traineddatachi_tra.traineddatachi_tra_vert.traineddataeng.traineddatajpn.traineddatajpn_vert.traineddata
  • 截取屏幕上的某一区域,用鼠标划定区域,划定完按Enter
    • 截取完会直接显示截图图片和文本
    • 若想取消划定操作,按ESC
  • 截取一次后按连续,则开始以某一间隔在同一位置进行连续识别
    • 结束则结束连续识别
  • 根据程序显示的图片效果,可以调整阈值阈值化方式

翻译

JBeijing

  • JBeijing启用并保存后,即可获得翻译文本

有道

  • 注意:有道调用的不是API,而是本地的有道词典程序(不可最小化
  • 设置好有道词典路径后,点击启动有道,并切换到词典翻译页面
  • 若本程序获取的翻译文本错位,可尝试增加翻译间隔
  • 可以取消抓取翻译,并将词典的翻译栏拖在游戏窗口下方
  • 有道词典的翻译有问题,可尝试终止有道后再启动有道

百度

  • 注意:百度翻译是在线翻译,需要使用百度账号免费申请api,流程如下:
  1. https://api.fanyi.baidu.com/进入百度翻译开放平台
  2. 按照指引完成api开通,只需要申请通用翻译API
  3. 完成申请后点击顶部管理控制台,在申请信息一栏可获取APP ID密钥
  • 启动百度翻译前需要填写APP ID密钥并且保存

文本

  • 文本去重数:文本重复的次数,比如aabbcc为重复2次
    • 智能去重:根据句子自动判断重复次数并去重,勾上后文本去重数失效
  • 垃圾字符表:去除文本中含的垃圾字符垃圾字符空格分隔
  • 正则表达式:将正则表达式中的所有()部分连接,剩下的去除

语音

Yukari2

  • 设置好Yukari2路径后,点击启动Yukari2即可(可最小化
  • 连续阅读:连续阅读抓取文本,即抓取到新文本时读取新文本
  • 阅读内容:勾上的内容会读取,反之忽略
    • 判断依据:有的为角色对话,反之为旁白

打包

  • 本项目可用Pyinstaller打包,注意要在32位Python环境下,否则JBeijing不可用

额外说明

  • 本项目作为本人业余学习Python的一个实战项目,同时也为了满足我对于Galgame的追求
  • 因界面排版问题,选择Microsoft YaHei Mono字体
  • 因所使用的的库的问题,启动有道启动yukari2后,点击目录等按钮会卡死,目前无解决办法

About

实现对Galgame文本的抓取与翻译功能

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%