>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Kotlin

如何在 Android 屏幕上直接翻译未本地化的游戏

任何尝试在没有官方翻译的情况下玩日本视觉小说或 JRPG 的人都深知这种痛苦。你要么只能举着手机对着屏幕,要么把摄像头对准显示器,要么深入研究 PC 内存钩子、配置第三方 OCR 工具,然后祈祷文本编码不会在第一行就崩溃。

在运行 Android 的移动设备和手持游戏机上,情况长期以来更加糟糕。几乎没有现成的翻译工具可用。我最近发现了一个有趣的项目叫做 PlayTranslate,它以一种相当优雅的方式解决了这个问题。

PlayTranslate 搭配 Persona 3 Reload 使用

PlayTranslate 的功能

从本质上讲,它是一个 Android 悬浮窗,能够实时截取屏幕上的文字、识别文字,并将其翻译成所选语言。该应用支持 25 种游戏源语言,可输出 59 种语言的翻译,包括俄语。

这个项目面向两类用户:单纯想用自己熟悉的语言玩完剧情驱动型游戏的玩家,以及通过游戏和视觉小说学习外语的用户。正因如此,其功能远比单纯的"识别图像并通过基础翻译器处理"要深入得多。

核心功能

它整合了许多通常需要拼凑五个不同插件才能实现的实用功能:

  1. 自动翻译和点击翻译。你可以点击屏幕进行翻译,也可以启用自动模式,该模式会监控对话框的变化,自动更新翻译,无需额外操作。
  2. 交互式词典和弹出放大镜。将悬浮光标悬停在陌生单词上,会立即显示词典条目及上下文。
  3. 字符上的注音和拼音。对于日语或中文学习者,有一种模式可以实时在字符上方显示阅读提示。
  4. 与 AnkiDroid 和 Yomitan 深度集成。只需一键即可将句子保存到 Anki 卡片,包含截图、音标、翻译、文本转语音,甚至游戏音频片段。支持 Yomitan 词典的声调标记和频率列表。
  5. 物理按钮和分屏。在 Ayn Thor 等手持游戏机或带游戏手柄的手机上,可以将翻译显示绑定到按住的物理按钮。该应用支持双屏设备和 Android 分屏模式。

技术栈与离线运行

这个项目的架构特别吸引人的地方在于它能够完全离线运行。开发者们构建了一个强大的本地推理栈,而不仅仅是封装网络 API。

内部工作原理如下:

  • 光学字符识别(OCR)结合了 PaddleOCR(PP-OCRv6 检测器)、用于竖排文字的自定义模型 MangaOCR,以及处理轮廓预处理和追踪的 OpenCV 库。
  • 形态分析和实时文本分割依赖专门的库:日语用 Sudachi、中文用 HanLP、韩语用 KOMORAN、泰语用 PyThaiNLP
  • 本地模型推理通过阿里巴巴的 MNN 引擎运行。如果需要,可以将紧凑型 LLM 加载到设备内存中进行离线翻译:TranslateGemma 4B、Qwen 2.5 1.5B Instruct,或 Mozilla Firefox 团队的 Bergamot。

如果你有网络访问权限且希望获得最大翻译质量和上下文感知能力,可以在设置中连接几乎任何外部 API。支持的选择包括 DeepL、OpenAI、Google Gemini、DeepSeek、Mistral、Groq、OpenRouter,或任何带有自定义基础 URL 的兼容服务器。

安装与入门

由于其屏幕捕获和悬浮窗功能,该应用无法在 Google Play 上架,因此你需要从仓库的 releases 页面手动安装 APK。

安装后,你需要在 Android 设置中授予两个权限:用于 OCR 功能的屏幕录制权限,以及如果你想将翻译绑定到游戏手柄按钮所需的辅助功能权限。

该项目采用 GPL 3.0 开源协议,使用 Kotlin 编写,目前处于活跃开发状态。

适用人群

如果你在 Android 上玩 JRPG 移植版、PSP、PS2 或 Switch 模拟器,并且厌倦了等待粉丝翻译,PlayTranslate 可以立即解决这个问题。对于使用沉浸式学习来学习日语或中文的人来说,与 AnkiDroid 和 Yomitan 词典的集成在分析游戏对话时可以节省大量时间。

相关项目