Best local LLM for real-time translation? Six models measured on game text

Best local LLM for real-time translation? Six models measured on game text

10 min read

Search “best local LLM for translation” and you get lists built for documents. Real-time game translation is a different job. The model gets one line at a time, a couple of hundred milliseconds to answer, and a GPU that is already rendering the game. A model that writes a beautiful paragraph but takes a second per line, or occasionally answers with the instructions instead of the translation, loses here.

This article is the measured companion to Choosing a model. It covers the latency budget, the four axes we pick models by, and a six-model measurement on the same corpus and hardware. Sample sizes are small and stated with every number.

The real-time budget

From the moment a line appears on screen to the moment its translation is drawn, about 500 ms is the point where the overlay starts to feel late. The stages before and after translation are mostly fixed:

StageTypical
Screen capture~15 ms
OCR~80 ms
Change detection~3 ms
Translationwhat is left
Overlay render~70 ms

So the model gets roughly 200 to 300 ms per line on mid-range hardware. Two consequences follow. Model size matters more than benchmark rank, and a model that fails loudly (echoes the prompt, answers in the wrong language, adds commentary) is worse than one that is slightly less fluent, because a broken line on a live overlay is not something you can re-roll.

Four axes for choosing a real-time model

  1. Latency per line, on your GPU. Median matters, and so does the tail, because one slow line stalls the queue behind it.
  2. VRAM, because the game is on the same card. A model that fits on paper but leaves the game 1 GB short costs you frame rate.
  3. Failure behavior: does it always output a translation in the target language and nothing else? Translation-only models are trained for this. General chat models sometimes explain, echo, or drift into a neighboring language.
  4. Language coverage, checked rather than claimed.

Translation quality comes after those four, because a model that fails the first three never gets to show its quality on a live overlay.

Six models, same corpus, same GPU

Corpus: 9 English and 9 Japanese game lines (dialogue, UI labels, system messages), each translated into 4 target languages = 72 judgments. Hardware: RTX 4070 Ti, llama.cpp server build 8724, all layers on GPU, Q4_K_M quantization for every model. LFM2 is an English–Japanese-only model, so it was run on those 18 judgments only.

ModelWeightsVRAM in useRight languagePrompt echo / passthroughMulti-line kept (3 blocks)Median per short lineDecode tok/s
Hy-MT2 1.8B1.13 GB1.77 GB69 / 7203 / 385 ms221
Gemma 4 E2B3.46 GB2.30 GB69 / 7203 / 396 ms173
Qwen3.5 2B1.28 GB2.03 GB67 / 7202 / 396 ms217
Qwen3.5 0.8B0.53 GB1.31 GB67 / 7212 / 371 ms319
TranslateGemma 4B2.49 GB3.64 GB68 / 7203 / 3130 ms131
LFM2 350M EN–JA0.23 GB0.60 GB18 / 1801 / 329 ms756

“Right language” is an automatic language-ID check, so 1 to 3 point differences are within noise on short UI fragments. “Multi-line kept” is whether a 3-line block came back as 3 lines, which a live overlay depends on.

What the table says for real time:

  • Everything here fits the budget on a desktop GPU. The spread is 29 to 130 ms per short line. On a laptop or integrated GPU, multiply by several and the ranking starts to matter.
  • Hy-MT2 1.8B and Gemma 4 E2B are the two clean rows: no echo, every multi-line block intact. Hy-MT2 does it at a third of the file size and 0.5 GB less VRAM.
  • TranslateGemma 4B is the strongest translation-specialized model by published benchmarks, and it behaved cleanly here too, but it is the slowest row and the only one above 3.5 GB of VRAM. On a 6 or 8 GB card shared with a game, that is the difference.
  • Qwen3.5 2B and 0.8B are fast, but both dropped a multi-line block and the 0.8B fell into Chinese on an English-to-Japanese line. General small models are less disciplined than translation-only ones.
  • LFM2 350M is remarkable at 29 ms and 0.6 GB, and its English–Japanese output is readable, but it collapsed multi-line blocks and it only does one pair.

A few outputs for the same line, “The old merchant refuses to sell you the sword,” into Japanese, so you can judge tone yourself:

  • Hy-MT2 1.8B: 老商人はあなたに剣を売りません。
  • Gemma 4 E2B: その老商人はあなたにその剣を売るのを拒否する。
  • Qwen3.5 2B: 古い商人は剣を売らない。
  • Qwen3.5 0.8B: 老商人拒絶賣出你劍。 (Chinese, not Japanese)
  • TranslateGemma 4B: 古参の商人はお前にお宝の剣を売ることを拒否する。 (“treasured” is not in the source)
  • LFM2 350M: その古い商人はあなたにその剣を売らないと申し出ます。 (“offers” is wrong)

Tone is one thing. Whether the meaning survives is the next section.

Quality: the same six models on a 50-line reference corpus

Behavior tells you whether a model can be trusted on a live overlay. Quality tells you whether you want to read it. For that we used a 50-line English–Japanese corpus with reference translations, both directions, in five categories (short dialogue, long narration, skill descriptions, proper nouns, number-heavy text), scored with chrF against the references. Same GPU, same server, same prompts as above. Opus-MT, the classic NMT model, is the historical baseline from the same corpus.

ModelchrF allJP to ENEN to JPShort dialogueLong textSkill textProper nounsNumbersMedian per line
Gemma 4 E2B61.670.852.461.164.360.956.165.6300 ms
Hy-MT2 1.8B54.162.845.454.861.653.851.049.2234 ms
LFM2 350M EN–JA47.358.336.438.951.249.249.747.670 ms
TranslateGemma 4B46.858.834.934.552.351.847.947.6437 ms
Qwen3.5 2B41.556.126.832.544.343.439.248.0262 ms
Qwen3.5 0.8B33.547.219.925.436.732.532.840.2188 ms
Opus-MT (baseline)35.546.924.140.741.932.336.526.1

chrF rewards overlap with one reference, so a fluent paraphrase scores lower than it deserves. It still separates the field cleanly, and reading the outputs agrees with it. What we saw line by line:

  • Gemma 4 E2B leads every category. It picks the game register naturally (“passive skill”, 耐性 for resistance, 謁見 for audience) and keeps names stable. One caveat: this is the single-line prompt, not the batch prompt Playto uses for Gemma in production, so it is not a measurement of the product path.
  • Hy-MT2 1.8B is a consistent second. Its English is a touch literal (“magical damage”, “corpse army” for undead) and it occasionally invents katakana for a term (コールドダウン), but it never lost a line. For a model a third of Gemma’s size that is the trade.
  • LFM2 350M reads better than its size suggests, and on proper nouns it matched Hy-MT2. It is casual and lowercase in English (“pull your swords. this is a test.”) and it fell into a repetition loop on one number-heavy line, which is why its number score is low.
  • TranslateGemma 4B is polite and complete on long text, but on one-line dialogue it over-interprets: 剣を抜け。これは試練だ。 (Draw your sword. This is a trial.) became “Get through this. It’s a test.” Short dialogue is most of what a game shows you.
  • Qwen3.5 2B stays in the right language but drifts in meaning (“Break the sword”) and leaves proper nouns in Latin script inside Japanese sentences.
  • Qwen3.5 0.8B is not usable for this: two lines came back in Chinese, one in romaji (“Kaze ni kune. Iu shiten da.”), one as a katakana loop to the token limit.
  • Opus-MT, for scale, translated 封印 (seal) as アザラシ (the animal).

So the quality ranking and the behavior ranking agree on the top two, in reverse order. Gemma 4 E2B is the better translator at 2.3 GB of VRAM and a 3.5 GB download. Hy-MT2 1.8B is the one that fits everywhere at 1.8 GB and 1.1 GB. That is exactly why Playto installs Hy-MT2 as the default (it ships inside the installer and starts in seconds on PCs without a dedicated GPU) and offers Gemma 4 E2B and Qwen3-VL 4B as the upgrade a click away.

How small is too small

Hy-MT2 at Q4_K_M is 1.1 GB. We tried to get it under 1 GB, on CPU with the same 72-line set.

BuildSizeRight languagePrompt echoMedian per line (CPU)
Q4_K_M1081 MB69 / 7200.93 s
IQ3_M~790 MB61 / 72190.91 s
IQ3_XXS733 MB67 / 72381.05 s
Q3_K_M~860 MB53 / 72120.97 s
IQ2_S657 MB31 / 72350.90 s

Below 4 bits the model starts repeating the request instead of translating, and it does not get faster. Use the Q4 build. Q4 on CPU is the same quality as on GPU at about one line per second on a desktop CPU: too slow for live play, fine as a fallback when the GPU is unavailable. If you need something smaller than 1 GB, the table above says to switch model class (Qwen3.5 0.8B, LFM2 for English–Japanese) rather than squeeze this one.

The other budget: reading, not playing

Some jobs are not real time. Word meanings, grammar notes and example sentences are worth a second’s wait, and translation-only models cannot produce them at all. Playto uses a general model for those (Qwen3-VL 4B for CJK sources, Gemma 4 E2B for others) and, when you play with the small model, generates meanings for saved words after the session, when the game is closed.

Screen-as-image translation is the extreme case. We measured 12 GB-class vision models on the same GPU: 6 UI-heavy screens, then 51 dialogue screens from three games. Reading accuracy at 8 to 9B matched the cloud reference, with zero omissions on the UI set. But the numbers are on a different scale from the real-time table:

Model (51 dialogue screens)Mistranslated blocksVRAM in useMedian per screen
Qwen3-VL-8B Q4_K_M158.4 GB1.34 s
Qwen3.5-9B Q4_K_M68.8 GB1.68 s
Qwen3.5-9B Q6_K_XL511.4 GB1.60 s

Seconds per screen, 8 to 11 GB in use, and Q4 to Q8 on the 8B model gained nothing (same word-level errors, 3.2 GB more VRAM, 35% slower). A 12 GB card can run this and read as well as the cloud. It cannot share the card with a game, which is why Playto’s Image mode runs this class of model in Playto Cloud while the real-time text path stays local.

Choose by what you are doing

If you wantUseWhy
Live translation on the smallest footprint, any of 18 languagesHy-MT2 1.8B, Q485 ms per line, 1.8 GB, no failure modes, chrF 54
Live translation with the best quality in this set, 2.3 GB to spareGemma 4 E2B (Qwen3-VL 4B for CJK sources)Clean behavior, chrF 62, slightly slower
Long descriptions more than dialogue, VRAM to spareTranslateGemma 4BStrong on long and technical text, weak on one-liners, 3.6 GB
The smallest possible footprint, English–Japanese onlyLFM2 350M29 ms, 0.6 GB, single-line only
No usable GPUHy-MT2 1.8B on CPUSame quality, about 1 s per line
Meanings, grammar, examplesA general model, after the sessionTranslation-only models cannot do this
Screen-as-image translationCloudSeconds per screen and 8 to 11 GB leave no room for the game

Related: Choosing an offline game translator covers what “offline” actually includes, and The context problem in AI translation covers why even a good model gets a line wrong.

Share: X
← All posts