RTranslator 离线实时翻译完整指南:3 步在 Android 手机上跑通双语对话
【免费下载链接】RTranslatorOpen source real-time translation app for Android that runs locally项目地址: https://gitcode.com/GitHub_Trending/rt/RTranslator
RTranslator 是一款 Android 平台的开源免费应用,把语音识别和机器翻译整套流程搬到了设备本地执行,实现不依赖网络的实时翻译。飞行途中、地下车库这类彻底无网的环境里,它照样能把你和对方不同语言的对话转成各自听得懂的话。本文按"速览 → 上手 → 功能 → 实现 → 实战 → 隐私 → 答疑"的顺序,把它完整讲一遍。
项目速览
| 项目 | 说明 |
|---|---|
| 它是什么 | 运行在 Android 本地的离线实时翻译应用,语音与文字双向处理 |
| 适合谁 | 出境旅行、跨国会议、语言学习者,以及一切不想让语音数据出手机的场景 |
| 核心能力 | 多设备蓝牙实时对话、单设备对讲机式问答、文本翻译,三种形态可切换 |
| 语言支持 | 30 种主流语言开箱即用;开启"低质量语言"选项后扩展到 40 余种 |
| 设备门槛 | 建议 6GB 以上内存(RAM)的 Android 手机,CPU 越快体验越流畅 |
| 系统要求 | Android;朗读环节依赖手机自带 TTS 引擎,推荐 Google TTS |
| 开源情况 | 应用代码完全开源,个别依赖模型与闭源库(如 Ml Kit)在文档中如实标注 |
快速上手
- 获取安装包:从仓库的发布页面下载最新的 APK 文件(仓库地址 https://gitcode.com/GitHub_Trending/rt/RTranslator,取其中 RTranslator 仓库的 Releases 即可),安装到手机。
- 等待模型下载:首次启动时,应用会自动拉取约 1.2GB 的 NLLB 与 Whisper 模型文件。这一步是耗时大头,建议连上稳定的 Wi-Fi,期间不要反复杀掉应用。
- 初始配置:授予通知权限(用于对话/对讲机模式在后台运行时的状态提示)与麦克风权限;在设置页确认应用语言、目标语言,必要时微调麦克风灵敏度。
- 跑通第一次翻译:先用文本翻译模式输入一句话,确认译文与"朗读/复制"按钮都正常;再让两位同事各装一台,走一遍蓝牙配对与接受连接请求,听到对方手机里传出自己的声音,就算彻底跑通了。
新手常见的初始化坑:网络环境对初始下载不友好时,可以用电脑单独下载全部.onnx模型文件,通过 USB 放进手机的Android/data/nie.translator.rtranslator/files目录,应用会自动校验完整性、只补下损坏的部分,详见仓库内的 手动放置模型文档;内存不足 6GB 的手机存在崩溃风险,可先打开设置里的"支持低质量语言"选项缓解。
功能全景
想在跨设备对话中当"随身翻译"
适合两人或多人各持一部手机的长对话:商务会谈、家庭聚会、跨国团队。双方在对话模式下发起并接受蓝牙连接后,你说中文、对方听日文,整个流程自动完成:本地收音、语音转文字、文字发到对端、对端翻译成对方语言并朗读出来,双向同时进行。每台手机还能同时连接多台设备,所以"三个人、三种语言"这种组合也能跑。
想站在街头问个路
适合问路、问价、问营业时间这类十几秒的快问快答。对讲机模式只用一部手机:它在同一时间监听你预设的两种语言,自动判断对方说的是哪一种,把内容翻译成另一种语言并从手机扬声器朗读,朗读结束后自动恢复监听。注意它是"轮流说话"的设计,不是严格意义上的同声传译,也不支持蓝牙耳机。
想快速看懂一段文字
菜单、票据、文档片段这类文字内容,直接用文本翻译模式:输入或粘贴后得到译文,配合朗读按钮和一键复制,不用来回切换应用。
想在没有网络的地方持续用
飞行模式、地下车库、信号盲区里,对话与对讲机两种模式可以保持运行,应用甚至支持后台工作。只是部分手机会限制后台功耗,遇到翻译变慢时,把应用留在前台、屏幕常亮是最稳妥的做法。
技术实现拆解
整条链路分四个环节:语音转文字用 Whisper-Small-244M,文字分词用 SentencePiece,跨语言翻译用 NLLB-Distilled-600M,文字朗读则交给手机系统的 TTS 引擎。语音识别的输入语言判断由 Ml Kit 完成。推理统一跑在 ONNX Runtime 上,全部发生在设备本地,核心逻辑集中在 voice_translation/neural_networks/ 目录,模型加载与完整性校验的入口见 NeuralNetworkApi.java。
性能是这类应用能不能落地的关键,作者对两个模型都做了针对性改造:int8 量化(保留少数敏感权重避免质量损失)、引入 KV 缓存、拆分模型部件消除运行时的权重重复。实测对比如下:
| 模型 | 指标 | 常规 ONNX 版本 | RTranslator 优化版 |
|---|---|---|---|
| NLLB-600M | 内存占用 | 2.5 GB | 1.3 GB(1.9 倍) |
| NLLB-600M | 75 个 token 耗时 | 8 秒 | 2 秒(4 倍) |
| Whisper-Small | 内存占用 | 1.4 GB | 0.9 GB(1.5 倍) |
| Whisper-Small | 11 秒音频耗时 | 1.9 秒 | 1.6 秒 |
另外,面对内存不足 8GB 的设备,Whisper 还能切换到 0.5GB 内存的档位,代价是 11 秒音频耗时升至 2.1 秒,属于自动的降级方案。
实战走查
场景一:两地开一场不用翻译的会
背景:林姐带团队赴东京见合作方,双方手机都装好了 RTranslator 并下好模型,会议室没有外网。
操作:双方进入对话模式,林姐发起蓝牙连接,对方接受;各自戴上蓝牙耳机。林姐说"我们先对一下交付节奏",加藤的手机随即读出"まず納期の流れを確認しましょう";加藤的回应同样在 2 秒左右转成中文,从林姐耳机里出来。整场会没有一个人打开过浏览器或搜索框。
结果:跨语言的往返对话平均延迟约 2 秒,全程离线完成。会议结束后双方设备间不留任何文本记录,要留纪要得靠自己的笔记。
场景二:里斯本街头问路
背景:陈老师独自旅行,在里斯本老街迷了路,身边没有会中文的店员,手机也没有当地流量。
操作:打开对讲机模式,把两种语言设为"葡萄牙语 + 英语"。他对着手机说"请问大教堂怎么走",手机先把这句话转成英语播放出来;店员用葡萄牙语比划着回答,手机检测到是葡语,于是翻译成中文从扬声器里念给陈老师听。念完一轮后自动恢复监听,他还可以接着追问"要多久"。
结果:一部手机、两个人、三种语言(中、英、葡)完成了一次完整的路径问答,没有联网、没有第三方平台参与。
数据与隐私
- 麦克风采集的音频只在手机内存中做转写,处理完即丢弃,不落盘、不上传。
- 设备之间的文本只走蓝牙直连通道,不经过任何中转服务器。
- 开发者没有部署后端服务,应用内也没有账号系统,因此不存在"数据存到了谁的服务器"这一环。
- 模型文件与校验日志全部位于手机本地存储(
Android/data/nie.translator.rtranslator/files),卸载应用即可带走全部痕迹。 - 具体条款见仓库内的 隐私政策。
高频疑问快答
Q1:模型下载慢或反复失败,怎么办?用电脑从仓库发布页下载全部.onnx文件,手机先启动一次应用(授权通知权限后退出,用于创建目录),再经 USB 把文件拷入Android/data/nie.translator.rtranslator/files,重开应用即自动校验入库。完整步骤见 Sideloading.md。
Q2:手机只有 6GB 甚至更少内存,能跑吗?官方口径是"至少 6GB"。低于这个值容易崩溃:先在设置里打开"支持低质量语言"降低占用;仍不够的话可考虑 1.0 版本(注意它依赖 Google API,并非完全免费与离线)。内存 8GB 以上的设备则无需任何特殊设置。
Q3:后台运行变慢,怎么解决?这是部分手机对后台的功耗限制所致,不是模型本身变慢。把应用切回前台、保持屏幕常亮即可恢复速度;长期使用时可顺手检查系统里针对该应用的"电池优化/省电策略"设置。
Q4:蓝牙对话中途断连了?这是 README 中登记的已知问题之一。重新发起配对一般可恢复;多次复现的话,到仓库的 issue 区提交报告,附上手机型号与 Android 版本。
上手清单
- 下载最新 APK 与 1.2GB 模型文件(发布页或侧载,二选一)。
- 确认系统 TTS 引擎已设为 Google TTS,并在 Play 商店装好对应语言的语音包。
- 授权通知与麦克风权限。
- 先跑文本翻译模式验证链路,再测对话模式。
- 低配设备提前打开"支持低质量语言"选项。
- 遇到问题按 README 的 Bugs 一节对照已知问题排查。
【免费下载链接】RTranslatorOpen source real-time translation app for Android that runs locally项目地址: https://gitcode.com/GitHub_Trending/rt/RTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考