本项目是 https://github.com/hanmin0822/MisakaTranslator 的fork。
功能增加:
- .NET7
- x64
- Microsoft.Data.Sqlite,且使用Win10自带的winsqlite3.dll
- 原版TextractorCLI
- 运行不要求管理员权限(但可能导致Hook失败或者无法截图)
- 最小翻译间隔(防抖)
功能缺失:
- TTS
- Mecab
- 内置的TesseractOCR
- J北京等32位库
- 全屏时原来能显示的现在也许不能显示
- Python脚本去重
- 托盘
没有解决:
- Process.Start时Core的UseShellExecute默认为False,导致运行URL失败。点击申请API按钮会用到,懒得改
- 设置界面各个字段必须点某些按钮才能保存,不能丢失焦点自动保存
- 有的电脑也许会找不到vcruntime140.dll,但我的有,不做处理
- TextRepaire去重功能使用了低效的反射
- Common.textHooker是全局的,不能开启多个翻译,当关闭一个窗口时会把它设为null影响其它的
- 不明白为什么OCRLibrary需要System.Drawing.Common而主窗体不需要,看起来主窗体隐式引用了WinForm
- OCR时不用“全屏截取”而用“选择窗口”时,会出现白边,且现在Win11下好像很难正确获得点击的窗口
- 腾讯云OCR,URI过长
构建(需要装SDK):
dotnet publish -c Release -r win10-x64 --self-contained=false -p:PublishReadyToRun=true -p:DebugType=none -p:WarningLevel=0
结果在MisakaTranslator\MisakaTranslator-WPF\bin\Release\net7.0-windows\win10-x64\publish
中。如果运行一开始就报错,异常为XAMLParseException,需要删除obj和bin重新构建。
支持用VS Code调试,launch的cwd改为WPF.dll所在目录,program改为那个dll,即可。但是不能和VS混用。
你也可以下载我release的包,但不保证为最新的;运行必须装好.NET Desktop Runtime或SDK。
TODO: https://zhuanlan.zhihu.com/p/514108005