A real-time game translation Android app, built for both language learners and people who just want to play. Supports 23 game languages and 59 user languages!
Download the latest release by clicking here
To report issues, receive support, or make requests, please join the Discord server
PlayTranslateDemo_compressed.mp4
- 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
- Offline: OCR and dictionary lookups work without an internet connection, with optional offline translation models
- 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.
- Yomitan integration: Yomitan dictionaries seamlessly integrate, including pitch accent, frequency chips, kanji enrichment, and merged term definitions everywhere (incl. Anki). Look for deeper integration in the future
- 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
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.
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.
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
PlayTranslate translates from 25 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.
| Language | Native name | Code |
|---|---|---|
| English | English | en |
| Chinese (Simplified) | 简体中文 | zh |
| Chinese (Traditional) | 繁體中文 | zh-Hant |
| Hindi | हिन्दी | hi |
| Spanish | Español | es |
| Arabic | العربية | ar |
| French | Français | fr |
| Portuguese | Português | pt |
| Russian | Русский | ru |
| Indonesian | Bahasa Indonesia | id |
| German | Deutsch | de |
| Japanese | 日本語 | ja |
| Turkish | Türkçe | tr |
| Vietnamese | Tiếng Việt | vi |
| Korean | 한국어 | ko |
| Italian | Italiano | it |
| Thai | ไทย | th |
| Dutch | Nederlands | nl |
| Romanian | Română | ro |
| Hungarian | Magyar | hu |
| Swedish | Svenska | sv |
| Catalan | Català | ca |
| Danish | Dansk | da |
| Finnish | Suomi | fi |
| Norwegian | Norsk | no |
| 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 |
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
Install AnkiDroid and grant PlayTranslate access in Settings to export cards directly to your decks.
- ML Kit: on-device OCR and translation
- Sudachi: Japanese morphological analysis (Apache 2.0)
- HanLP: Chinese word segmentation
- KOMORAN: Korean morphological analysis
- PyThaiNLP: Thai word segmentation — a Kotlin port of its
newmmmaximal-matcher, over a word list that includes its CC0 list (Apache 2.0) - 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-OCRv6 text detector and unified recognizer, plus optional 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 (GPL-2.0-or-later, with MPL-2.0 Marian components)
- OkHttp: HTTP client for online translation and downloads (Apache 2.0)
- kotlinx.serialization: JSON (de)serialization for the translation backends and data models (Apache 2.0)
- Gson: streaming JSON parsing for Yomitan dictionary banks (Apache 2.0)
- 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+v6 recognizers: optional per-script OCR recognizer packs for additional scripts (e.g. Korean, Arabic, Cyrillic, Thai), 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
- JMdict, KANJIDIC2, and JMnedict: Japanese dictionary, kanji, and proper-name data (EDRDG licence; JMnedict offered as an optional in-app Yomitan download)
- CC-CEDICT: Chinese-English dictionary (CC BY-SA 4.0)
- CFDICT: Chinese-French dictionary, used for French-target glosses (CC BY-SA 3.0)
- HanDeDict: Chinese-German dictionary, used for German-target glosses (CC BY-SA 2.0 DE)
- 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
- Camel Morph MSA: Arabic morphology, used to map inflected and broken-plural surface forms to dictionary lemmas (© CAMeL Lab, NYU Abu Dhabi; CC BY 4.0, modified)
- Arramooz: Arabic morphological dictionary (© Taha Zerrouki; GPL 3.0)
- SudachiDict: Japanese tokenizer dictionary bundled for Sudachi, including UniDic (© NINJAL) and part of mecab-ipadic-NEologd (Apache 2.0)
- Jiten: Japanese frequency data, offered as an optional in-app Yomitan dictionary download (CC BY-SA 4.0)
- Wikimedia Commons: pronunciation audio for word playback and Anki cards, fetched on demand — each clip carries its own author and license (typically CC BY / CC BY-SA / public domain), shown as a credit that travels onto exported cards