这个项目能做什么
AurexTranslator 是一个跨平台的实时翻译器,适用于 Windows 和 Linux(X11/XWayland),用于翻译从屏幕、剪贴板或正在运行的游戏或引擎中提取的文本。它的典型用例是在视觉小说和其他游戏中叠加翻译,但 OCR 和剪贴板模式可以用于任何屏幕上的文本。
输入源
- OCR:捕获屏幕区域并使用 Tesseract 或 Ollama Vision 识别文本,支持自动或手动捕获模式。
- 剪贴板:自动翻译复制的文本。根据桌面环境,它可以使用原生 Wayland 后端、XDG Portal 或 Qt 剪贴板后端。
- 游戏文本提取:通过将插件注入游戏进程并挂钩其文本输出函数,在运行时拦截文本输出。这需要安装注入器(libat-injector 和 at-injector)以及游戏或引擎特定的插件;支持的引擎、游戏和安装步骤列在单独的 AurexTranslator-plugins 仓库中。
配置和输出
- 命名配置配置文件允许为每个游戏设置单独的设置,并让用户在不重新注入的情况下切换它们。
- 文本替换规则支持正则表达式,并可以按源或按游戏进行范围限定。
- 输出可以作为整个块显示,也可以按字符显示,并具有可调速度。可以根据可配置的优先级顺序选择多个文本块,这有助于处理同时暴露多个文本源的游戏或引擎。
- 多架构插件加载会自动选择正确的 x86 或 x64 插件版本。
平台支持
Windows 和 Linux(X11/XWayland)。原生 Wayland 剪贴板支持是可选的,在构建时启用;如果没有启用,应用程序仍然可以构建并回退到 XDG Portal 和 Qt 剪贴板后端。
路线图(计划中,尚未实现)
- 多区域 OCR:同时捕获和翻译多个屏幕区域,而不仅仅是一个区域。
- 原生 Linux 包:Ubuntu/Debian 的 .deb,Arch 的 AUR,Fedora/openSUSE 的 .rpm,以及作为通用格式的 Flatpak/Snap。
- 游戏内叠加:通过图形 API 挂钩(Windows 上的 DLL 注入,Linux 上的 LD_PRELOAD)在屏幕上进行翻译,而无需单独的窗口。
- 文本到语音输出。
- 更多的翻译引擎提供商。
- 更多的游戏和引擎插件。
从源代码构建
常见要求包括 CMake 3.10+、Qt6(Core、Network、Widgets、Svg、LinguistTools)、OpenCV(core、imgproc、imgcodecs)和 Tesseract OCR。Linux 还需要 Qt6 DBus、libpipewire-0.3-dev、libX11-dev、libXcomposite-dev、libXfixes-dev 和 libXrandr-dev;libwayland-dev 是可选的,用于启用原生 Wayland 剪贴板后端。文档中的构建流程是:克隆仓库,创建构建目录,运行 cmake .. 进行配置,然后运行 cmake --build . 进行编译。
许可
该项目的代码根据 GPL-3 许可证发布;仓库中的 LICENSE 文件包含完整的条款。功能请求和拉取请求应提交到项目的 GitHub 问题跟踪器和拉取请求页面。
评论
0 评分人数达到10人后显示
登录后参与讨论。