RTranslator
Open source real-time translation app for Android that runs locally
Install / Use
/learn @niedev/RTranslatorREADME
RTranslator is an (<a href='https://github.com/niedev/RTranslator?tab=readme-ov-file#libraries-and-models'>almost</a>) open-source, free, and offline real-time translation app for Android.
Connect to someone who has the app, connect Bluetooth headphones, put the phone in your pocket and you can have a conversation as if the other person spoke your language. <br /><br />
<br /><br />
<br /><br />
The Conversation mode is the main feature of RTranslator. In this mode, you can connect with another phone that uses this app. If the user accepts your connection request:
-
When you talk, your phone (or the Bluetooth headset, if connected) will capture the audio.
-
The audio captured will be converted into text and sent to the interlocutor's phone.
-
The interlocutors' phone will translate the text received into his language.
-
The interlocutors' phone will convert the translated text into audio and will reproduce it from its speaker (or by the Bluetooth headset of the interlocutor if connected to his phone).
All this in both directions.
Each user can have more than one connected phone so that you can translate conversations between more than two people and in any combination. <br /><br />
<h3>WalkieTalkie mode</h3>If conversation mode is useful for having a long conversation with someone, this mode instead is designed for quick conversations, such as asking for information on the street or talking to a shop assistant.
This mode only translates conversations between two people, it doesn't work with Bluetooth headsets, and you have to talk in turns. It's not a real simultaneous translation, but it can work with only one phone.
In this mode, the smartphone microphone will listen in two languages (selectable in the same screen of the walkie talkie mode) simultaneously. <br /> The app will detect in which language the interlocutor is speaking, translate the audio into the other language, convert the text into audio, and then reproduce it from the phone speaker. When the TTS has finished, it will automatically resume listening. <br /><br />
<h3>Text translation mode</h3>This mode is just a classic text translator, but always useful. <br /><br />
<h3>General</h3>RTranslator uses <a href="https://ai.meta.com/research/no-language-left-behind/">Meta's NLLB</a> for translation and <a href="https://openai.com/index/whisper/">OpenAi's Whisper</a> for speech recognition, both are (<a href='https://github.com/niedev/RTranslator?tab=readme-ov-file#libraries-and-models'>almost</a>) open-source and state of the art AIs, have excellent quality and run directly on the phone, ensuring absolute privacy and the possibility of using RTranslator even offline without loss of quality.
Also, RTranslator works even in the background, with the phone on standby or when using other apps (only when you use Conversation or WalkieTalkie modes). However, some phones limit the power in the background so in that case it is better to avoid it and keep the app open with the screen on. <br />
<a href="https://www.producthunt.com/posts/rtranslator-2?embed=true&utm_source=badge-featured&utm_medium=badge&utm_souce=badge-rtranslator-2" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=487672&theme=light" alt="RTranslator - Open-source and offline simultaneous translator for Android | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a> <br /><br />
<h3>Download</h3>To install the app, download the latest version of the app apk file from https://github.com/niedev/RTranslator/releases/ and install it (ignore the other files, those will be downloaded automatically by the app on the first start).
<a href='https://github.com/niedev/RTranslator/releases'><img alt='Get it on GitHub' src='https://github.com/niedev/RTranslator/blob/v2.00/images/get_it_on_github.png' style="width: 180px; height: 58px;" /></a>
On the first launch, RTranslator will automatically download the models for translation and speech recognition (1.2GB) and once done you can start translating.
The initial download will get the models from GitHub, however <a href="https://www.reddit.com/r/China/comments/v8fv0p/why_is_github_so_slow_in_china_recently/">in some regions GitHub is very slow</a>, those who have problems of this kind can download the models separately from a computer (or in general in whatever way they prefer) and insert them manually into the app following <a href="https://github.com/niedev/RTranslator/blob/v2.00/Sideloading.md">this guide</a>.
If you have a GitHub account and want to be notified when a new release comes out you can do so by clicking, at the top of the page, on "Watch" -> "Custom" -> "Releases" -> "Apply". <br /><br />
<h3>RTranslator 3.0 Coming Soon!</h3>The 3.0 version of RTranslator will be funded through the NGI Mobifree Fund, a fund established by NLnet.
Main changes of this version:
- The NLLB translation model will be replaced with the option to choose between: Mozilla Bergamot models, Madlad 400 3B, and HY-MT 1.5 1.8B. All these models have better translation quality than NLLB 54B, similar to Google Translate (with HY-MT 1.5 1.8B having much better scores than Google Translate).
- MLKit will be replaced, making RTranslator 100% open source.
- Various techniques will be added to improve translation quality, including: beam search, multilingual dictionaries, Tatoeba integration, and more.
- The app will be released on Play Store and F-Droid.
- A self-hosted web version of the app for text translation using Mozilla models will be made available.
The first beta of this version will be released between April and June 2026. Stay tuned 🚀
<img src="https://nlnet.nl/logo/banner.svg" width="200px"> <br /> <h3>What's new in version 2.1</h3>-
New GUI! Designed by Chiara Chindamo.
-
Added speak and copy buttons to the text translation mode.
-
Added the option to manually control the mics in WalkieTalkie mode.
-
Added the option to use low-quality languages.
-
Fixed some bugs.
For the full list of changes see here. <br /><br />
<h3>Performance requirements</h3>I have optimized the AI models a lot to minimize RAM consumption and execution time, despite this however to be able to use the app without the risk of crashing you need a phone with at least 6GB of RAM, and to have a good enough execution time you need a phone with a fast enough CPU.
If you have a pretty crappy phone (or if you want maximum speed) you can always use <a href="https://github.com/niedev/RTranslator/tree/v1.00">version 1.0 of RTranslator</a> (but since it uses Google APIs it's not free and needs some initial setup). <br /><br />
<h3>Supported languages</h3>The languages supported are as follows:
Arabic, Bulgarian, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Finnish, French, Galician, German, Greek, Italian, Japanese, Korean, Macedonian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, Swedish, Tamil, Thai, Turkish, Ukrainian, Urdu, Vietnamese. <br /><br /> If your language is not on the list, from version 2.1 of RTranslator you can go into the settings and enable "Support low quality languages" to add the following languages (which have lower quality for translation and speech recognition):
Afrikaans, Akan (only text), Amharic, Assamese, Bambara (only text), Bangla, Bashkir, Basque, Belarusian, Bosnian, Dzongkha (only text), Esperanto (only text), Estonian, Ewe (only text), Faroese, Fijian (only text), Georgian, Guarani (only text), Gujarati, Hausa, Hebrew, Hindi, Hungarian, Irish (only text), Javanese (only text), Kannada, Kashmiri (only text), Kazakh, Kikuyu (only text), Kinyarwanda (only text), Korean, Kyrgyz (only text), Lao, Limburghish (only text), Lingala, Lithuanian, Luxembourghish, Macedonian, Tagalog (only text), Tibetan. <br /><br />
<h3>Text To Speech</h3>To speak, RTranslator uses the system TTS of your phone, so the quality of the latter and the supported languages depend on the system TTS of your phone.
The supported languages seen above are all compatible with <a href="https://play.google.com/store/apps/details?id=com.google.android.tts&pcampaignid=web_share">Google TTS</a>, which is the recommended TTS (although you can use the TTS you want).
To change the system TTS (and therefore the TTS used by RTranslator), download the TTS you want to use from the Play Store, or from the source you prefer, and open RTranslator, then open its settings (top right) and, in the "Output" section, click on "Text to Speech", at this point the system settings will open in the section where you can select the preferred system TTS engine (among those installed), at this point, if you have changed the preferred engine, restart RTranslator to apply the changes (close it from the recent apps and then reopen it).
Note: If after that the TTS doesn't work, you can clear the cache of RTranslator and the TTS from Android Applications settings, reboot the phone and retry. <br /><br />
<h3>Privacy</h3>Privacy is a fundamental right. That's why RTranslator does not collect any personal data (I don't even have a server). For more information, read the <a href="https://github.com/niedev/RTranslator/blob/v2.00/privacy/Privacy_Policy_en.md" target="_blank" rel="noopener noreferrer">privacy policy</a> (for now is the same privacy policy of RTranslator 1.0, but I will update it in
Related Skills
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
