Steam now shows review scores per language. Bad loc has nowhere to hide.

Ship your game in every language. Without the tofu boxes.

Patchworld is in-game localization QA, by the hour. Native players play your real build on real devices, in their own language and culture, and hand you a clean bug list. Send a TestFlight, Google Play or Steam link. Buy testing hours. Patch what breaks.

From $30/hour  ·  1-language minimum, buy from 1 hour  ·  No sales call  ·  100% human native testers

日本語 tested 한국어 tested 中文 tested العربية tested de-DE tested pt-BR tested fr-FR tested es-LA tested th-TH tested tr-TR tested pl-PL tested it-IT tested
patchworld — build #418 · de-DE · iOS 18 / iPhone 15
# native tester report, real build, in context
CRIT [ui/main_menu] button "Einstellun..." truncated, German runs +35% vs EN
CRIT [font/dialogue] Cyrillic renders as □□□ (tofu) - glyphs missing from font
MAJOR [quest/05] unresolved placeholder shown to player: "You found {item_name}"
MAJOR [culture/zh-CN] skull icon in shop - restricted in China builds, flag for review
MINOR [plural/ru] "3 предмет" wrong plural form (Russian has 3 forms)
PASS [checkout, save/load, tutorial, store page] ✓ clean
# 4 issues to patch · 1 cultural flag · screenshots + repro attached
The stakes just changed

One bad language can now sink your whole rating.

In August 2025 Steam made per-language review scores the default, and called out "translation issues" and "cultural references" by name. Your localization quality is now a public, per-region number that players see before they buy. You cannot hide a broken language behind a good one anymore.

81%

of Steam monthly active users are not English-first. Most of your players read your game in a language you do not speak.

~38%

positive: where Silksong's Simplified Chinese reviews landed after a tone-deaf translation, on ~35,000 reviews.

+30-40%

text expansion for German vs English. The single most common loc bug is a button that no longer fits its label.

10-20%

of your translation spend is what LQA costs. It is the part that keeps the other 80-90% from looking amateur.

"Shitty localization will absolutely burn your review scores, and then you'll have to spend more to go back and fix it anyway."
// r/gamedev, on why to test before you ship
Hollow Knight: Silksongzh-CN tone/register collapse, reviews went Mostly Negativereview bomb
LittleBigPlaneta background track quoted the Qur'anworldwide recall
Football ManagerTibet / Taiwan listed as countriesbanned in China
Stardew Valley 1.6.4zh font swap broke the pixel-art lookPR crisis + rollback
Types of localization errors

Here is the kind of thing we find on a real game screen.

Take one character card and look closely. The same screen can hide three very different classes of bug at once: technical, contextual and cosmetic. None of them shows up in a string table. All of them show up to a player.

sample game screen · under test
Sample game character card (Sneaky_Snake) used to illustrate localization error types
// illustrative · sample game card · not a client build
«Come closer, <$user_name$
Technical

The text cannot even render

The font is missing the glyphs, the encoding is wrong, or raw code leaks into the string. The player sees boxes and tags instead of words.

tofu □□□ unsupported chars leaked tag <b> code fragment in text
Contextual

It renders, but it is wrong here

Grammar that breaks on gender, a line that does not fit the scene, or flat machine-flavored phrasing. Correct in a cell, wrong on the screen.

leaked placeholder "Come closer, {user_name}!" wrong gender agreement off-tone / MT-flavored line
Cosmetic

It fits the data, not the box

The translation is fine, the layout is not. Text outgrows its button, gets cut off, overlaps a neighbor or shrinks to a cryptic abbreviation.

overflow "Einstellun..." cut-off text unclear abbreviation overlapping labels
How it works

No procurement. No telephone game. Just send the build.

You already know how to ship a beta. We plug into the channel you already use, our native testers play it, and you get bugs back the way your devs like them: in your tracker, with screenshots and repro steps.

// 01

Send your build link

TestFlight, Google Play internal testing, a Steam playtest key or an APK. We get onto your real build, on real devices.

TestFlightGoogle PlaySteamAPK / build
// 02

Native players test it

Real native-speaking gamers play your game in context: every menu, quest and edge case. We send your glossary and style guide along, not just a string table.

native speakersin-contexton device
// 03

Get a clean bug list

Every issue tagged by type and severity, with a screenshot, the in-game location, repro steps and a proposed fix. Straight into Jira, Trello, a sheet, whatever you use.

severity-taggedscreenshotsyour tracker
// 04

Patch and re-test

You fix, we run regression on a fresh build to confirm each fix actually landed. New content next month? Send the patch, we test the delta. No re-onboarding.

regressionlive-service ready
What we catch

The bugs that are invisible in a spreadsheet and obvious on screen.

A translation can be perfect in the string table and broken in the game. These only show up when someone actually plays the localized build, in the target language, on a real device.

Overflow & truncation

Text that outgrows its box. German, Finnish and Russian expand; buttons clip, tooltips cut off, numbers overlap labels.

"Einstellun...""Einstellungen"

Tofu & mojibake

Missing glyphs render as empty boxes; wrong encoding garbles symbols. Your font almost certainly lacks CJK, Cyrillic, Arabic or Thai.

□□□□日本語

RTL & bidi

Arabic and Hebrew need shaping and a mirrored UI. Letters that do not join, bars that fill the wrong way, back buttons on the wrong side.

unmirrored UIRTL layout

Placeholders & variables

Dynamic strings that never resolve, or grammar that breaks when the engine cannot move the variable for the target language.

"You found {item}""You found a sword"

Plurals & gender

English has 2 plural forms; Russian 3, Polish 4, Arabic 6. Gendered languages change verbs and adjectives. Naive "{n} items" is wrong almost everywhere.

"3 item"correct agreement

Cultural & compliance

Symbols, religion, maps and taboos that read as a ban or a recall, not a typo. A skull in a China build, a verse under a fight scene, a flag on the wrong border.

recall riskflagged pre-launch
Inside the report

What lands in your tracker.

Every finding arrives as a card your devs can act on, not a verdict they cannot. A screenshot, the exact location, repro steps, a severity tag and a proposed fix. Never "the German is bad". On the Lead tier you also get an MQM-style quality score, so quality is a number you can defend.

illustrative mockup // Main menu Einstellun German label runs +35% vs EN and clips the button
PW-014 CRIT Overflow / truncation
Languagede-DE
LocationMain menu > Settings button
DeviceiPhone 15 / iOS 18
ReproSet language to German, open main menu. Settings button text is cut off.
Found"Einstellun..." (clipped)
Expected"Einstellungen" fully visible
Proposed fixWiden button to fit longest locale, or allow 2-line wrap. Re-test fr/fi/ru too.
NoteGerman averages +30-40% length over English; this label is one of several at risk.
illustrative mockup // Dialogue box □□□□ □□□ — missing glyphs Cyrillic renders as empty boxes (tofu): font lacks the glyphs
PW-027 MAJOR Tofu / missing glyphs
Languageru-RU
LocationTutorial > first dialogue line
DevicePixel 7 / Android 14
ReproSet language to Russian, start a new game, advance to first dialogue.
Found□□□□ in place of Cyrillic text
Expectedreadable Cyrillic in the dialogue font
Proposed fixSwap UI font to one with full Cyrillic coverage, or add a Cyrillic fallback in the font stack.
NoteSame font is reused across HUD and menus, so the fix likely clears several strings at once.

Lead LQA also returns an MQM-style quality score.

Multidimensional Quality Metrics: the industry framework that scores translation by error type and severity, so quality is a defensible number, not an opinion. Numbers below are illustrative.

DimensionCritMajMinPenalty
Accuracy0127
Fluency0033
Terminology0116
Locale conventions10111
Style / register0022
Overall MQM score
96.4/100
PASS · ship-ready after fixes
// 1,000-word sample · de-DE · illustrative
Delivered the way your devs already work: straight into Jira, Trello, a Google Sheet or whatever tracker you use, with screenshots attached. JiraTrelloGoogle SheetLinearCSV / your format
Cultural adaptation

Some bugs are not typos. They are bans.

A skeleton in a Chinese build, a Qur'an verse under a fight scene, a map with the wrong border: each one reads fine line by line, and gets your game pulled.

Culturalization goes beyond translation. It checks your game's symbols, history, religion and geopolitics against what each market will actually accept. These failures only reveal themselves when someone sees the scene, never in a string list.

Our native testers flag them while you can still fix them in a patch, not after the hashtag trends.

// framework after Kate Edwards, ex-Microsoft geopolitical strategist, IGDA
ChinaNo skulls, gore or sovereignty errors (Taiwan, Tibet, HK). Maps must match official borders.
MENAZero tolerance for sacred text or imagery as decoration. Modesty and alcohol sensitivities.
Japan / KRRegister and honorifics carry the tone. Over-foreign translations read as low quality.
GermanyHistorical iconography stays review-sensitive even after the 2018 rule change.
Pricing

Buy tester-hours, not a procurement cycle.

Almost every LQA vendor hides behind "request a quote". We do not. One clean hourly rate, a 1-hour minimum, and you can estimate the cost yourself before you ever talk to us.

Standard LQA
$30 / hour
Native-speaker tester plays your build and files clean bugs. The everyday choice for most indie and mobile titles.
  • Native tester on your real build
  • Truncation, encoding, context, placeholders
  • Severity-tagged report with screenshots
  • One regression pass included
Start with Standard
Lead LQA · recommended
$45 / hour
Senior linguist plus structured MQM-style scoring, deeper cultural review and a retest pass. For launches where one bad language hurts.
  • Everything in Standard
  • Senior linguist + MQM quality scoring
  • Full culturalization / compliance review
  • Dedicated test lead + retest pass
Start with Lead

1-hour minimum, buy only what you need  ·  rare/scarce natives (Nordic, Japanese) +$10/hr  ·  AAA or NDA-heavy scope? let's scope it

Estimate it yourself

A typical indie title runs ~8-15 hours per language; mid-size ~20-40. Drag to get a ballpark.

Estimated total
$1,800
5 languages × 12 h
= 60 tester-hours @ $30
ballpark, not a binding quote
Why a live build

We don't proofread strings. We play your game.

A string checker reads your text out of context. A player meets it in a box, at a moment, on a screen. Only one of them finds the bug your actual players would.

Strings in a spreadsheet
  • Overflow and tofu are invisible until a player hits them
  • A correct word can still be the wrong word for its spot
  • Files go stale the moment the build moves on
  • Cultural risk never shows up in a row of text
Native players on the real build
  • They see what your players see, in language and in context
  • They pick the best line for the space, tone and pacing
  • They catch the cultural landmine before it goes live
  • They test the experience, not a checklist
Coverage

120+ languages. The hard scripts included.

CJK line-breaking, RTL shaping, Cyrillic and diacritics: the scripts that break naive code are exactly the ones we test hardest, with native speakers who actually game in that language.

日本語 Japanese 한국어 Korean 简体中文 Chinese (S) 繁體中文 Chinese (T) العربية Arabic de German fr French es Spanish (EU/LA) pt-BR Portuguese (BR) it Italian pl Polish tr Turkish th Thai vi Vietnamese id Indonesian nl Dutch + 100 more
120+

languages and locales covered

100%

human native testers, never raw MT

4

platforms: iOS, Android, Steam, console builds

$30

per hour, public, no sales call

Backed by the Alconost linguist network — 1,500+ localization projects across 120+ languages. // human-verified. zero machine-translation passed off as human.
FAQ

The questions indie devs actually ask.

How do you get onto my game? +
Send us a TestFlight invite (iOS), add us to Google Play internal testing (Android), drop a Steam playtest key or a build/APK. We test on real devices, on the same build your players will get. No SDK to integrate, no engine work on your side.
What does one hour actually buy me? +
A native tester playing your build in their language and logging every loc and cultural issue in context, with a screenshot, the in-game location, repro steps, severity and a proposed fix. As a rule of thumb a small indie title needs ~8-15 hours per language, mid-size ~20-40. Use the calculator above for a ballpark.
Do you use AI or machine translation? +
Testing is 100% human: real native gamers, never MT dressed up as human work. We may use AI to speed up triage and report formatting, and we will always tell you exactly where. We never let a model decide whether your translation is good. That is the whole point.
Is there a minimum order or a contract? +
No 8-hour minimum and no contract. Start from a single hour - enough for a quick sanity check on one language - and scale up from there. A small title usually needs ~8-15 hours per language for one solid pass, but you decide how many. No retainers, no per-seat fees. Come back with the next patch when you have it.
We're live-service and ship updates constantly. +
That is exactly what Patchworld is built for. Send each new build or content drop and we test the delta. Same testers, same glossary, no re-onboarding, so quality stays consistent across every patch.
Can you sign an NDA? What about IP-sensitive builds? +
Yes. We sign NDAs, scope tester access to your project only, and can work to your security requirements. For larger AAA or NDA-heavy scopes, tell us about it and we will tailor the engagement.
We already translated the game. Can you just test it? +
Absolutely. Patchworld is standalone LQA. Whether you translated in-house, via freelancers, on Crowdin or anywhere else, we will play the localized build and tell you what breaks. You do not have to buy translation from us to buy testing.

Don't get Silksonged. Test the build first.

Send us your build link and the languages you care about. We'll come back with a plan and an hour estimate, usually same day. No sales call unless you want one.

No sales call. Reply usually same day. 100% human native testers.
Got it.

We will come back with a plan and an hour estimate, usually same day. No sales call unless you want one.

From $30/hour  ·  1-language minimum  ·  human native testers  ·  reply usually same day