playtranslate
A real-time game translation Android app, built for both language learners and people who just want to play. Supports 21 game languages and 59 user languages!
To report issues, receive support, or make requests, please join the Discord server
PlayTranslate with Persona 3 Reload and Breath of Fire 3
Features
- One-tap Translation: Capture the game screen and translate Japanese text with one tap
- Auto Translation Mode: Automatically translates as dialogue changes, no tapping required
- Word lookup: Hover the floating lens over any word for immediate dictionary definitionss
- Furigana/Pinyin Mode: Show reading hints above characters in real time
- Hotkey hold-to-preview: Configure a physical key to hold-to-preview translations or furigana, great for handhelds with dedicated buttons
- Dual Screen & Split Screen: Works across both screens on dual-display devices like the Ayn Thor, or in Android split-screen alongside windowed games
- Capture regions: Crop to just the dialogue box, subtitles, or any custom area
- Text-to-speech: Hear text spoken aloud. Change the default voice in settings
- Anki export: Save sentences to AnkiDroid with the original text, translation, word list, target words, text-to-speech, and a screenshot. Card type selection with presets for popular decks.
- Offline: OCR and translation work without an internet connection, with optional on-device translation models
- No accessibility required: PlayTranslate runs on a screen-recording permission by default, so it works even on devices that block accessibility for sideloaded apps.
How to Use
- Download the latest release by clicking here
- On your Android, enable Settings → Security → Install unknown apps for your file manager or browser
- Open the APK and tap Install
- On first launch, follow the onboarding steps to grant the necessary permissions
Won't install?
On some Android devices, Google Play Protect blocks sideloaded APKs and shows a vague "App not installed" or "harmful app" warning. If that happens, temporarily disable the scanner:
- Open the Play Store
- Tap your profile icon (top right)
- Tap Play Protect
- Tap the gear icon (top right)
- Turn off Scan apps with Play Protect
Install the APK, then re-enable Play Protect afterward to keep scanning your other apps.
Can't enable accessibility?
PlayTranslate's core features run on a screen-recording permission, so most users never need to enable accessibility. A few advanced features (like hotkey hold-to-preview) will prompt you for it when you turn them on.
Some Android OEMs block sideloaded apps from receiving accessibility permissions by default — the toggle in Settings is grayed out or shows a "Restricted setting" message. To unblock it:
- Open Settings → Apps → PlayTranslate
- Tap the ⋮ menu (top right)
- Tap Allow restricted settings
- Authenticate when prompted
You can now turn on accessibility for PlayTranslate.
Support
To report issues, receive support, or make requests, please join the Discord server
You can support PlayTranslate on Ko-fi at https://ko-fi.com/playtranslate
Supported Languages
PlayTranslate translates from 21 game languages (the text it can read off the screen) into 59 translation languages (the language shown to you). Both tables are sorted by total worldwide speakers.
Game languages (read from the screen)
| Language | Native name | Code |
|---|---|---|
| English | English | en |
| Japanese | 日本語 | ja |
| Chinese (Simplified) | 简体中文 | zh |
| Chinese (Traditional) | 繁體中文 | zh-Hant |
| Korean | 한국어 | ko |
| Spanish | Español | es |
| French | Français | fr |
| Portuguese | Português | pt |
| German | Deutsch | de |
| Russian | Русский | ru |
| Vietnamese | Tiếng Việt | vi |
| Turkish | Türkçe | tr |
| Turkish | Türkçe | tr |
| Italian | Italiano | it |
| Romanian | Română | ro |
| Dutch | Nederlands | nl |
| Hungarian | Magyar | hu |
| Swedish | Svenska | sv |
| Catalan | Català | ca |
| Indonesian | Bahasa Indonesia | id |
| Danish | Dansk | da |
| Finnish | Suomi | fi |
| Norwegian | Norsk | no |
Translation languages (translated for you)
| Language | Native name | Code |
|---|---|---|
| English | English | en |
| Chinese | 中文 | zh |
| Hindi | हिन्दी | hi |
| Spanish | Español | es |
| Arabic | العربية | ar |
| French | Français | fr |
| Bengali | বাংলা | bn |
| Portuguese | Português | pt |
| Russian | Русский | ru |
| Urdu | اردو | ur |
| Indonesian | Bahasa Indonesia | id |
| Swahili | Kiswahili | sw |
| German | Deutsch | de |
| Japanese | 日本語 | ja |
| Marathi | मराठी | mr |
| Telugu | తెలుగు | te |
| Turkish | Türkçe | tr |
| Vietnamese | Tiếng Việt | vi |
| Korean | 한국어 | ko |
| Tamil | தமிழ் | ta |
| Persian | فارسی | fa |
| Italian | Italiano | it |
| Thai | ไทย | th |
| Gujarati | ગુજરાતી | gu |
| Polish | Polski | pl |
| Ukrainian | Українська | uk |
| Tagalog | Tagalog | tl |
| Malay | Bahasa Melayu | ms |
| Kannada | ಕನ್ನಡ | kn |
| Dutch | Nederlands | nl |
| Romanian | Română | ro |
| Hungarian | Magyar | hu |
| Greek | Ελληνικά | el |
| Czech | Čeština | cs |
| Swedish | Svenska | sv |
| Belarusian | Беларуская | be |
| Hebrew | עברית | he |
| Bulgarian | Български | bg |
| Catalan | Català | ca |
| Slovak | Slovenčina | sk |
| Haitian Creole | Kreyòl Ayisyen | ht |
| Croatian | Hrvatski | hr |
| Danish | Dansk | da |
| Finnish | Suomi | fi |
| Norwegian | Norsk | no |
| Albanian | Shqip | sq |
| Galician | Galego | gl |
| Slovenian | Slovenščina | sl |
| Lithuanian | Lietuvių | lt |
| Latvian | Latviešu | lv |
| Afrikaans | Afrikaans | af |
| Macedonian | Македонски | mk |
| Estonian | Eesti | et |
| Georgian | ქართული | ka |
| Welsh | Cymraeg | cy |
| Maltese | Malti | mt |
| Icelandic | Íslenska | is |
| Irish | Gaeilge | ga |
| Esperanto | Esperanto | eo |
Optional: Online Translation Backends
By default, translation uses Lingva with ML Kit as an offline fallback. For higher quality translations, you can plug in an API key for any of the following under Settings → Translation:
- DeepL: free tier at deepl.com/en/pro#developer
- OpenAI: platform.openai.com — pick a model at runtime
- Gemini: aistudio.google.com — pick a model at runtime
- DeepSeek: platform.deepseek.com — pick a model at runtime
Optional: Anki Flashcards
Install AnkiDroid and grant PlayTranslate access in Settings to export cards directly to your decks.
Credits
Libraries and services
- ML Kit: on-device OCR and translation
- Sudachi: Japanese morphological analysis (Apache 2.0)
- HanLP: Chinese word segmentation
- KOMORAN: Korean morphological analysis
- Snowball stemmers via Apache Lucene: Latin/European stemming
- Lingva: online translation
- AnkiDroid: flashcard integration
- MNN: on-device LLM and OCR inference engine (Apache 2.0)
- PaddleOCR: on-device OCR — the bundled PP-OCRv5 text detector plus per-script recognizers (Apache 2.0)
- docTR and EasyOCR: line-grouping logic adapted for OCR word-box assembly (Apache 2.0)
- OpenCV: image preprocessing for OCR — DBNet contour postprocessing and crop rectification (Apache 2.0)
- OpenCC4j: Simplified/Traditional Chinese conversion (Apache 2.0)
- slimt: tiny Marian-based NMT engine that runs the Bergamot offline models
(Optional) Downloadable Offline Models
- TranslateGemma 4B (Google): translation-tuned Gemma 3, downloadable as an optional offline pack (Gemma terms of use)
- Qwen 2.5 1.5B Instruct (Alibaba): downloadable as an optional offline pack (Apache 2.0)
- Gemma 4 E2B (Google): downloadable as an optional offline pack (Gemma terms of use)
- Hunyuan-MT 1.5 1.8B (Tencent): translation-specialised model, downloadable as an optional offline pack (Tencent HY Community License — not available in the EU, UK, or South Korea)
- PaddleOCR PP-OCRv5 recognizers: per-script OCR recognizer packs (Chinese/Japanese/English, Latin, Korean), downloadable per source language (Apache 2.0)
- Meiki: high-accuracy Japanese OCR model (D-FINE), downloadable as an optional offline pack (LGPL 3.0)
- Firefox Translations (Bergamot): Mozilla's offline NMT model pairs, downloadable for offline translation
Linguistic data
- JMdict and KANJIDIC2: Japanese dictionary and kanji data (EDRDG licence)
- CC-CEDICT: Chinese-English dictionary (CC BY-SA 4.0)
- Wiktionary via kaikki.org: multilingual dictionary entries (CC BY-SA)
- Tatoeba: example sentences (CC BY 2.0)
- PanLex: multilingual translation pairs (CC0)
- wordfreq: word frequency data
