Русская версия →

They type Russian.
You read English.

Dota Translator puts Russian, Spanish and Chinese Dota 2 chat into English above the game’s own chat. Press Ctrl+Enter when you want to send a translated reply.

Windows, 80 MB. Try it free for 3 days, then €7 for 3 months. Sign in with an email code. No API key needed.

Russian, Spanish, Chinese - both ways · ~2s to English · Dota's own feed

Your teammates write
[Allies]Иван:у него бкб, не лезь
 Луиза:гг вп, вы молодцы
[Allies]Дима:собираемся все, пушим мид
[Allies]Саня:бб есть? идём хг
[Allies]Mateo:tiene bkb, no te metas
 Lucía:gg wp, jugaron muy bien
[Allies]Diego:juntense todos, pusheamos mid
[Allies]Valen:tenes bb? vamos high
[Allies]阿杰:他有BKB,别进去
 小雨:gg,你们打得真好
[Allies]老王:大家集合,推中路
[Allies]明明:买活好了吗?上高
[Allies]Иван:he has bkb, don't go in(у него бкб, не лезь)
 Луиза:gg wp, well played(гг вп, вы молодцы)
[Allies]Дима:group up everyone, push mid(собираемся все, пушим мид)
[Allies]Саня:bb up? lets go high ground(бб есть? идём хг)
[Allies]Иван:у него бкб, не лезь
 Луиза:гг вп, вы молодцы
[Allies]Дима:собираемся все, пушим мид
[Allies]Саня:бб есть? идём хг
[Allies]Mateo:he has bkb, dont go in(tiene bkb, no te metas)
 Lucía:gg wp, you played very well(gg wp, jugaron muy bien)
[Allies]Diego:group up, push mid(juntense todos, pusheamos mid)
[Allies]Valen:do you have bb? let's go high(tenes bb? vamos high)
[Allies]Mateo:tiene bkb, no te metas
 Lucía:gg wp, jugaron muy bien
[Allies]Diego:juntense todos, pusheamos mid
[Allies]Valen:tenes bb? vamos high
[Allies]阿杰:he has bkb, dont go in(他有BKB,别进去)
 小雨:gg, you guys played really well(gg,你们打得真好)
[Allies]老王:everyone group up, push mid(大家集合,推中路)
[Allies]明明:is bb ready? push highground(买活好了吗?上高)
[Allies]阿杰:他有BKB,别进去
 小雨:gg,你们打得真好
[Allies]老王:大家集合,推中路
[Allies]明明:买活好了吗?上高
Without With Dota Translator

Drag the handle. The app asks the same thing - which language your teammates write - the first time it starts.

And now you can answer

Type in Dota's own chat, the way you always do, and press Ctrl+Enter instead of Enter - it goes to the chat you had open, team or all. The chat closes at once, so you keep playing, and about a second later it is said - in their language: Russian, Spanish or Chinese. Plain Enter still sends exactly what you typed.

[Allies]Дима:собираемся все, пушим мид
[Allies]You:идем рошана после этой драки
To (Allies):go rosh after this fightCtrlEnter
English → Russian
You type English, they read Russian. Or Spanish, or Chinese: tell the app once which one your team writes, and from then on it follows what it sees in their chat.buy wards please → купите варды плз
hi guys, good luck → hola gente, buena suerte
go rosh after this fight → 打完这波去打肉山
[Allies]Mike:does anyone have wards?
[Allies]Ты:rosh after fight
To (Allies):го рошан после дракиCtrlEnter
Russian → English
Or the other way round. One outgoing-language setting: for the player who types Russian, Spanish or Chinese and wants the rest of the team to understand.иду топ, помогите → going top, help
compren wards porfa → buy wards pls
买个眼吧 → buy wards

The same line every time: what you have said once is remembered on your PC, so the same English always comes out the same, 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, close the chat, then open it, 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.

Fast enough for a fight

A translation that arrives after the fight is a translation you never read. These are measurements from live matches, not estimates.

dota-translator / measuredlive matches, team and all chat
Dota's chat feed1×/sthe game sends it once a second
Said to English~2sup to 1s for Dota's feed, then 0.7-0.9s to translate
Built onGSIthe feed Valve made for overlays and stream tools
Price€7 / 3 months3-day free trial after your first sign-in
Measured over a whole matchmade game. A line somebody already said comes back instantly, with no call at all.

Built for how people actually type

Slang stays slang

It is told it is reading Dota chat. Shorthand comes out as shorthand, not as an essay.

го рошан → let's rosh
мид сс, осторожно → mid miss, careful

Nothing softened

An insult is translated as an insult. What was said is the thing you asked for.

ты вообще играть умеешь? → do you even know how to play?

Team and all chat

Both channels, tagged as the game tags them, with each player's own colour on their name.

Only what you can't read

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.

It looks like Dota

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.

Almost nothing to set up

No password, no settings you have to touch. Sign in with an email code, restart Dota once so the game picks up its chat feed, and play.

Three steps, five minutes

Follow the complete Dota Translator setup guide, including email sign-in, display settings and troubleshooting.

Install and sign in

Install the app, then right-click Dota Translator and choose Run as administrator. Messages from other players will still be translated without administrator mode, but sending your own translated Ctrl+Enter replies to Dota requires it. Enter your email, then use the sign-in link or six-digit code we send you. Your 3-day trial starts when you first sign in successfully.

Not exclusive fullscreen

Settings, Video, Display Mode: Borderless Window or Windowed, either is fine. The translation is a window drawn over the game, and an exclusive-fullscreen game does not let other windows on top of it.

Restart Dota once

Dota reads its chat-feed setting only when it starts. Restart it once after installing. 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 - both can be changed in its settings.

The catch, up front

  • It does not read Dota's memory. Chat comes from Game State Integration, the feed Valve built into the game for overlays and stream tools: the game sends it to your own PC. The app never opens the game's process and injects nothing. To switch the feed on it writes one small config file into Dota's folder, and Dota has to be restarted once to notice it.
  • It looks at three small spots of your screen. The feed says which seat spoke, not which hero. So when somebody new speaks, the app captures the portrait beside the newest chat line - about 56 by 40 pixels - and if that is unclear their tile in the top bar, compares it with the portraits in your own Dota install, and throws it away. When you press Ctrl+Enter it also looks at the start of the chat input - "To (Allies)" or "To (All)" - to send your line to the chat you had open. Only while Dota is in front; nothing is saved or sent anywhere. It can be switched off, and then other players are shown by colour only.
  • Other players have no names. The feed does not carry them. You see their hero portrait and their colour - Pink, Teal - which is how most people tell who spoke anyway. Your own lines carry your name.
  • If you use Ctrl+Enter to answer, it presses keys for you. Select, copy, close the chat, then open it, paste and Enter, sent through Windows the way a macro key sends them - once, when you ask, and never unless Dota is in front. Nothing is written to the game. It can be switched off, and then the app sends the game nothing at all.
  • Translation is hosted for you. Only chat lines needing translation go through our server to the paid Gemini API. Your account controls access; there is no personal API key to set up. What is sent and stored.
  • Valve has not approved it. It uses Valve's own feed and gives no advantage in the game, but nobody at Valve has reviewed this app, and that is true of every third-party tool you run beside Steam.
  • A Dota update could change the feed or move the chat on screen. Then the app updates itself; until it does, the text may sit in the wrong place or portraits may be missing. The translations themselves do not depend on either.

Like any third-party program: use it at your own risk.

Questions

Why is it paid?

The free-key setup was inconsistent and often unusable when Google's free quota or access limits got in the way. The paid version includes hosted API access and server costs, so you do not need to create, configure or troubleshoot your own key. You can test it in your own games during the 3-day trial.

Incoming translations work, but Ctrl+Enter does nothing. How do I fix it?

If Dota is running as administrator, Windows can block Dota Translator from entering your translated message. Quit Dota Translator from its tray icon, then right-click its shortcut and choose Run as administrator. Open Dota's chat, type your message and try Ctrl+Enter again.

The translator needs the same permission level as the game. Administrator access is only needed when Dota is running as administrator, including when it was launched by an elevated Steam.

Will it slow my game down?

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.

Is the download safe? It is an unsigned .exe from a stranger.

Each installer is built by GitHub Actions and has a published SHA-256 fingerprint. A VirusTotal report is linked when available. Installation needs no administrator rights. The app uses Valve's chat feed, our hosted translation service, GitHub for updates and Valve's image server for missing portraits. See the download checks.

Can I get banned?

Dota Translator uses Valve's Game State Integration (GSI), the feed used by streaming and overlay tools. It does not read Dota's memory or inject code. It sends a translated reply into chat only when you press Ctrl+Enter.

Where does my chat go?

Only the lines needing translation are sent to our hosted service and then Google's paid Gemini API. English lines stay on your PC. Chat text is not saved in server logs or the account database. Hero portraits are read from your Dota install or Valve's image server. Read the privacy details.

Can I answer them in their language?

Yes. Type English in Dota's chat and press Ctrl+Enter instead of Enter: the chat closes at once and the line is sent in your teammates' language about a second later - the one you picked under "Your teammates write" in the settings (Russian, Spanish or Chinese), or whichever of those they turn out to be typing. A setting turns it round (their language → English). The translation is a model's, tuned for Dota chat; if somebody who speaks the language tells you a line is off, email support@dotatranslator.live - that is how it gets better. See answering.

Sometimes lines stay in Russian. Is it broken?

If the translation service is temporarily busy, the original line stays visible and the app retries later. Check that your account has an active trial or subscription and that your internet connection works. Contact support if translation keeps failing.

Which languages does it translate?

Russian is what it was built for, and what it does until told otherwise. Spanish works the same way for US servers: pick "Spanish" under "Your teammates write" in the settings and their Spanish is shown in English, and Ctrl+Enter sends yours in Latin American Spanish. And Chinese for SEA servers: pick "Chinese" there and your Chinese teammates' chat is shown in English, and Ctrl+Enter answers them in Chinese. Chinese pasted into chat anywhere else, voice lines above all, is translated out of the box. Greek, Korean, Arabic and Thai can be switched on in the settings; those are less tested.

Does it update itself?

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.

Can I check what it does?

Installer downloads, SHA-256 fingerprints and available VirusTotal reports are on the public releases page. The application and server source are private. See what the app does on your PC.

Can I ask for a change?

Yes. Email support@dotatranslator.live about a bug, a wrong translation, text in the wrong place or a language you want. You can open an email from the app's tray menu too.

What does it cost?

Your first successful sign-in using an email link or code starts a 3-day free trial. After that, access costs €7 for 3 calendar months. Each purchase extends your access; there is no automatic renewal. One account is bound to one PC at a time, with a device reset available once per 24 hours.

Read your team.
Win the fight.

3-day free trial, then €7 for 3 months. Email-code sign-in, no API key needed.