Live translation of Dota 2 chat, right above the game's own. In English about two seconds after it is said. Dota itself sends the chat to the app, through the feed Valve built for overlays. New: answer them in Russian without leaving the game's chat.
Free, Windows, 80 MB. Nothing to sign up for: download, restart Dota once, play.
~2s to English · Dota's own feed · free, nothing to sign up for
Drag the handle. Same chat, same moment.
Type in Dota's own chat, the way you always do, and press Ctrl+Enter instead of Enter. About a second later it is said - in their language. Plain Enter still sends exactly what you typed.
The same line every time: what you have said once is remembered on your PC, so the same English is always the same Russian, at once and at no cost - in a plain text file a friend who speaks the language can correct. How it works: the app presses a few keys for you - select, copy, paste, Enter - only when you press Ctrl+Enter and only while Dota is the window in front. Nothing is written to the game. More in the catch.
A translation that arrives after the fight is a translation you never read. These are measurements from live matches, not estimates.
It is told it is reading Dota chat. Shorthand comes out as shorthand, not as an essay.
го рошан → let's rosh
мид сс, осторожно → mid miss, careful
An insult is translated as an insult. What was said is the thing you asked for.
ты вообще играть умеешь? → do you even know how to play?
Both channels, tagged as the game tags them, with each player's own colour on their name.
English lines and the chat wheel are left alone and cost nothing. You see english (what was said), so a bad translation never hides the original.
Same typeface as the game's chat, lined up with it, gone when the game's own line goes. Alt-tab and it gets out of the way.
No account, no key, no settings you have to touch. Install it, restart Dota once so the game picks up its chat feed, and play.
Settings, Video, Display Mode: Borderless Window. The translation is a window drawn over the game, and an exclusive-fullscreen game does not let other windows on top of it.
Download and run the installer. Dota reads its chat-feed setting only when it starts, so restart it once. Then play: translations appear above the game's chat.
Windows only. The installer is not code-signed, so Windows asks "are you sure?" the first time: More info, then Run anyway - what that looks like, and why it is normal. It lives in the tray, by the clock. Alt+D hides it, Alt+Shift+D quits.
Like any third-party program: use it at your own risk.
Yes. No subscription, no account, no trial, no key to get. The translating runs on this project's own server, and there is a fair daily allowance per player that normal play never reaches. If it wins you a game and you feel like it, you can buy me a coffee on Ko-fi - it changes nothing about what you get.
It should not. The game sends its chat to the app once a second; the app does not search or read the game at all. When somebody new speaks it compares one thumbnail-sized picture, which takes about 30 milliseconds.
Fair. So it is set up to be checked rather than believed: every installer is built by GitHub from the public source, not on my PC; it needs no administrator rights; it talks only to Google, GitHub and Valve's image server; and the fingerprint of each release is published. The download page lists all of it, and explains the blue Windows warning, which means "unknown publisher", not "something was found".
Nobody can promise anything about somebody else's rules, so here is what it does instead: it gets the chat from the feed Valve built into the game for tools like overlays, never touches the game's process and injects nothing. See the catch for the rest - two small screen captures, and key presses if you use Ctrl+Enter. Valve has not reviewed this app.
Only the lines that need translating leave your PC. They go to this project's translator (translate.dotatranslator.live) and on to Google's Gemini, and the English comes back the same way. Nothing that is said is logged or stored there: what is kept is a short-lived cache of text and its translation, with nothing about who said it, and a count of how many players used it each day. English lines never leave your PC. Hero portraits are read from your own Dota install; if one cannot be found there it is fetched from Valve's own image server. The app also fetches one small settings file from this project's GitHub.
Yes. Type English in Dota's chat and press Ctrl+Enter instead of Enter: it is sent in the language your teammates have been typing in, about a second later. A setting turns it round (Russian → English). The translation is a model's, tuned for Dota chat; if a Russian speaker tells you a line is off, say so in an issue - that is how it gets better. See answering.
Probably not. The translating is done by Google's Gemini, and when that is overloaded it answers slowly or not at all - usually for minutes. The app keeps showing every line as soon as it hears it, exactly as it was written, tells you once that the translator is not answering, and carries on by itself when it is back. Nothing to restart. The other cause is rarer: each player has a daily allowance of translations that normal play never reaches; if you hit it, the app says so and it comes back tomorrow.
Russian is what it is built and tuned for. Chinese is translated too, out of the box, because so many of the voice lines people paste into chat are Chinese. Greek, Korean, Arabic and Thai can be switched on in the settings; those are less tested.
Yes. It looks for a new version when it starts and every few hours after, downloads it quietly, and installs it the next time you close the app - never in the middle of a match. The version you are running is in the tray icon's menu.
Yes, all of it. The full source is on GitHub, and the installer is built there from that source by an automated job, in the open, not on somebody's PC. The part that listens to the game's feed is gsisource.js, the screen capture is one plain-text file, rowgrab.ps1; the part that talks to the translator is hosted.js.
The source is public and free to use, read and change for non-commercial purposes (PolyForm Noncommercial). Strictly that makes it source-available rather than open source: a paid product may not bundle it.
Yes to both. The quickest way is the feedback form: one box, no account needed, and the app's tray menu opens it too. Or open an issue on GitHub to report a bug or ask for a feature - a wrong translation, a screen where the text sits in the wrong place, a language you want. And the source is public, so if you would rather fix it yourself, pull requests are welcome.
Nothing to sign up for. Restart Dota once after installing.