Desk 1 of 4 · Linguistic QA

Reading Every String in Context

A translation can be correct in a spreadsheet and wrong on screen. Linguistic QA is where a native speaker plays the build and reads each line where players will read it.

Why context changes everything

Most game text reaches translators as isolated strings: an ID, a line of English, perhaps a character limit and a short note. "Open" might be a verb on a door prompt or an adjective on a shop sign. "Fire" might be a command to shoot, a damage type, or a warning. Without a screenshot, translators guess, and good translators guess well most of the time. Linguistic testers exist for the rest of the time.

In the running game, the tester sees who speaks, to whom, in which mood and on which screen. They can tell that the sarcastic sidekick suddenly sounds like a legal document, that the tutorial calls the same item by two different names, or that a menu entry refers to a button that does not exist on this platform.

The categories testers log

Most teams classify linguistic bugs with a fixed list so that results can be compared across languages and vendors. A typical list looks like this:

  • Mistranslation – the meaning differs from the source.
  • Terminology – a term contradicts the project glossary or the platform's official vocabulary.
  • Grammar and spelling – agreement, case endings, punctuation, typography such as French spacing before "?" and "!".
  • Register and tone – wrong formality, a character's voice drifting, humour lost.
  • Consistency – the same quest, place or ability rendered differently in different places.
  • Untranslated text – source-language strings left in the build, often from late additions.
  • Truncation and overlap – text cut off or colliding with other interface elements.
  • Variables and placeholders – broken tags, wrong order, missing values.

Before and after: a few real-type mistakes

The examples below are typical of what a linguistic pass catches. Each was correct as a dictionary translation and wrong in the game.

Before / after: mistranslations caught in context
Source (EN)Shipped riskCorrectedWhy
"Close" (door prompt)FR "Proche" (nearby)FR "Fermer"Adjective chosen instead of verb; no context given.
"You have {n} new message(s)"PL "Masz 5 nowe wiadomości"PL "Masz 5 nowych wiadomości"Polish needs separate plural forms; CLDR defines them.
"Your Majesty, take this."JA plain form "これを取れ"JA honorific "こちらをお受け取りください"A servant addressing a queen needs respectful speech.
"Press A to continue"DE "Drücke A" on a PlayStation buildDE "Drücke ✕"Platform button names must match the console's own rules.
"{player} defeated {enemy}"ES "{enemy} derrotó {player}"ES "{player} derrotó a {enemy}"Placeholders swapped and the personal "a" missing.

Honorifics and register

Register is where literal translation fails most often and most visibly. Japanese uses layered politeness (keigo); Korean marks several speech levels in its verb endings; German, French and Finnish all distinguish an informal and formal "you". A game must decide how the interface addresses the player, how characters address each other, and whether those relationships change over the story. When a rival who has used formal speech for twenty hours suddenly switches to the informal register in one patch-added line, native players notice immediately.

Testers should hold a short register sheet per language: who uses which form with whom, and when. It turns subjective "sounds odd" reports into checkable facts.

Plurals, gender and grammatical case

English has two plural forms. Polish and Russian use more, and Arabic distinguishes six categories, including dual. The Unicode CLDR plural rules describe these, and message formats such as ICU MessageFormat let developers supply each form. Testers deliberately trigger counts like 0, 1, 2, 5, 11, 21 and 22 to confirm the right form appears. Gendered languages add a second dimension: an achievement line that says "You are the new champion" may need different endings depending on the player character, and case-rich languages like Finnish change item names inside sentences.

Variables, tags and fonts

Placeholders such as {0}, %s or <color=red> are fragile. Translators may delete them, move them outside tags, or translate the tag name. The tester checks that every variable resolves, that markup renders, and that line breaks do not split a number from its unit. Font coverage belongs here too: a missing glyph for Polish "ł", Turkish dotless "ı" or Vietnamese stacked diacritics usually shows up as an empty box only in-game.

Writing a linguistic bug that gets fixed

A good report includes the string ID, a screenshot, the current text, the proposed text, a back-translation into English for producers, the category and the severity. Without a back-translation, a producer who does not speak the language cannot judge priority, and the fix waits.

Next desk: Culture