I started translating Battle Talent as a community volunteer in 2021, when the game was a rough VR alpha. Turkish is now one of the shipped in-game languages, and I still maintain the column. This is what five years of a living localization actually looks like, measured off the sheet itself.
Battle Talent is a physics-based VR rogue-lite by CyDream. You pick up weapons with your hands, the swings are simulated rather than animated, and the dungeon is different every run. It targets players who are comfortable moving fast in a headset, which is a smaller audience than most VR games aim for and a more opinionated one.
Meta Quest is the primary platform, with a SteamVR build for PC players and the modding community. Quest being first matters for translation more than it sounds: standalone VR means fixed UI panels floating in space, no scrollbars, no window you can drag wider. Text either fits the box or it does not.
Turkish is one of the languages you can pick inside Battle Talent, and it is the column I have been keeping since January 2021, when the game was at v0.0.3 and I was an undergraduate translation student answering a call for community translators. It is not a mod and it was never a one-off delivery. The developer maintains one master sheet with nineteen language columns on it; mine is one of them, and when new content lands, new English rows appear and everyone's column grows. The numbers on this page come from that sheet, computed on 4 August 2026.
The linguistics is the easy part. Three things make this project different from translating a finished document:
The game is written in Chinese first, and the English column I work from is itself translated. When a weapon description reads oddly, I cannot tell from the sheet alone whether the original was odd or whether the English lost something on the way. So the real source is often the game: I check what the item does in a run and translate the behaviour rather than the sentence. 'Slash Katana' became 'Kesici Katana' that way — a katana is a slashing weapon by definition, so the English is redundant, and I kept the adjective-noun shape the sort order needs while dropping the redundancy.
There is no CAT tool, no translation memory, no CMS. There is a spreadsheet the developer owns, and every translator works in it live. That means no leverage from fuzzy matches, no automatic consistency enforcement, and a real risk of quietly breaking a neighbouring column. It also means the terminology discipline has to live in my head and in my own notes, because nothing in the file enforces it.
In a headset, a label that overflows does not wrap into a scroll area — it clips through geometry or spills off a panel you are holding in your hand. Turkish is agglutinative, so a two-word English label often becomes one long suffixed word that is no shorter in characters. Half of my editing time goes on making short strings shorter, which is also the thing the length data on this page is about.
Deliberately unglamorous, and largely unchanged in five years:
Content updates add English rows to the sheet. I go through the new ones, translate them, and leave anything I cannot place until I have seen it in game. Right now 70 strings are open that way, mostly the selfie-camera interface and the aerial-combat talents from a recent drop.
Weapon families, stat names and status effects have to read the same in year five as in year one, because players learn them. I keep my own term list rather than relying on the sheet, and I would rather live with an early choice I now dislike than retranslate a term mid-game.
The only honest length test is putting the Quest on and looking at the panel. Context checks go the same way: is this button doing what I assumed it does, does the tooltip appear where I thought, does the colour tag survive.
Periodically I read the full Turkish column end to end looking for capitalization drift, punctuation inconsistency and terms that slipped. Over 2,499 rows written across five years, that kind of small rot is guaranteed, and it is the sort of pass that is easy to keep putting off.
2,499 of 2,569 live English strings carry Turkish. The 70 that do not are recent additions I have not worked through yet. A localization that ships alongside a game still in active development is never finished, and quoting it as complete would just mean the number is out of date rather than honest.
Battle Talent sits at 4.7 stars from roughly 7.4K ratings on the Meta Quest store, and 77% positive across 1,175 Steam reviews, both read on 4 August 2026. Those rate the game, not my column. I include them because they say what kind of product the Turkish text ships inside — a small studio's VR title with a real, durable audience — and not because a localizer can claim credit for a store rating.
Mostly that constraints teach faster than briefs do. VR panel widths taught me to write short. A shared sheet with no version control taught me to be careful with other people's work. Translating from a translation taught me to treat the source as evidence rather than instruction. That is the habit I bring to everything I work on now.
Joined as a community translator at v0.0.3, when Battle Talent was an early Quest alpha and the sheet was a fraction of its current size.
Turkish became one of the languages selectable in game. The scope widened from tutorial and interface text to weapons, enemies and talents as Early Access content landed.
The SteamVR build arrived and brought the modding-related strings with it. Same sheet, more rows.
Routine maintenance: new content drops, new rows, periodic consistency passes over the whole column.
Still the maintained Turkish column, now sitting on a corpus of roughly two and a half thousand live strings across nineteen languages in one shared document.
Everything below is computed from the developer's master translation sheet as it stood on 4 August 2026. The charts are interactive; the caveats sit next to the numbers rather than in a footnote.
Three things first, because they change what the charts mean.
Everything here comes from one sheet, read once. On 4 August 2026 I took the developer's master translation document, kept the row key, the English column and the Turkish column, and counted. There is no revision history in that file, so there is no way to say how many strings existed in 2022 or how fast the corpus grew. Anything on this page phrased as a trend over time would be invented, so there is nothing on this page phrased as a trend over time.
Word and character counts strip the game's inline markup. Battle Talent uses tags like <CO> for coloured text. Those are part of the string but not part of the language, so they are removed before counting.
A cell counts as translated only if it holds real text. The sheet uses 0, TRUE and FALSE as placeholders in empty cells, and 88 rows have no English source left at all — dead keys the file still carries. Those 88 are excluded from every figure below, which is why the working corpus is 2,569 rather than the 2,657 rows in the file.
2657 rows in the sheet; 88 are dead keys with no English text left.
2499 translated, 70 still open from a recent content drop.
13,772 words in Turkish, 21.3% fewer.
-21.3%About 7.4K ratings. On Steam, 77% of 1,175 reviews are positive.
String counts computed from the developer's master translation sheet on 4 August 2026. Store ratings read from the live Meta Quest and Steam pages the same day — they rate the game, not this localization.
The number I would draw your eye to is 97.3%, not 100%. Seventy strings are open, and they are open for a boring and permanent reason: a content update landed with a selfie camera and a set of aerial-combat talents, and I have not been through those rows yet. That is the steady state of a localization that ships inside a game still being made. It is briefly complete after every pass and immediately incomplete again after every update.
A second footnote worth stating rather than hiding: 71 Turkish cells are byte-identical to their English source. Those are proper nouns and brand words that are correct left alone — the game title itself is in that group. They count as translated because a decision was made about them, but nobody typed anything new.
That category split is my reconstruction, not the developer's taxonomy, and it deserves the caveat it carries. The prefixes are real and consistent enough to be useful, but 'content' is a bucket defined by what is left over rather than by what it contains.
Coverage is not spread evenly across those groups:
This is the part of the project I find genuinely useful, and the part I could not have described honestly without counting.
All live strings, markup stripped
| English | Turkish | |
|---|---|---|
| Weapons, enemies & items | 7613 | 6045 |
| Interface | 4732 | 3783 |
| Tutorial & intro | 2635 | 1856 |
| Character stats | 1055 | 1055 |
| Spells | 709 | 531 |
| Combat mechanics | 496 | 279 |
| Modifiers | 248 | 223 |
Every category loses words in translation. Tutorial copy loses the most in proportion — 2,635 English words become 1,856 — because instructional writing is where English piles up prepositions and auxiliaries that Turkish carries as suffixes. Character stats lose nothing, because they are mostly single words and proper nouns.
17,488 English words against 13,772 Turkish, a 21.3% reduction across the corpus.
A 21% drop in words sounds like a localization that shrinks. It is not. The same corpus loses only 3.5% of its characters, because Turkish spends on suffix length what it saves on word count. 'In the dungeon' is three English words and one Turkish one, and the Turkish one is not much shorter.
Word counts are a scoping tool. Character counts are a layout problem, and in VR the layout problem is the one that bites.
Depends entirely on how long the English was
| All strings | Descriptions (40+ characters) | |
|---|---|---|
| Strings that get longer | 51.3% | 39.3% |
| Strings that get shorter | 41.8% | 58.0% |
Across all 2,428 translated strings that differ from their source, 51.3% get longer and the median string gains a single character. Restrict it to English sources of 40 characters or more and the picture inverts: only 39.3% get longer, and the median loses three characters. Toggle to 'side by side' to see the gap.
Compares translated strings that are not byte-identical to their English source. n = 2,428 for all strings, n = 760 for descriptions of 40+ characters.
So the two populations behave in opposite directions. Long strings — item descriptions, tutorial paragraphs, talent explanations — get shorter in Turkish, which is the agglutination effect doing exactly what you would expect. Short strings — button labels, menu items, stat names — get longer slightly more often than not.
That is backwards from what is convenient. Long copy sits in panels with room to breathe and would happily absorb ten extra characters. Short labels sit in fixed-width buttons on a floating VR menu, and there is no scrollbar, no ellipsis, no wrap. The strings with nowhere to go are precisely the ones that grow.
Which is why the median for the whole corpus being +1 character is a genuinely misleading summary. It is the average of two opposite effects, and if you scoped a Turkish VR localization off that number you would conclude the layout risk was negligible and then spend a week shortening buttons.
Turkish uses 21% fewer words than English here but only 3.5% fewer characters. If you scope a Turkish localization by word count you will conclude it shrinks, and then discover your buttons overflow. Words are the wrong unit for anything with a layout.
There are terms in this file I would choose differently today. I have left them, because a player who learned a weapon name in 2022 should still find it in 2026. Changing terminology mid-project buys elegance and spends trust.
Every content drop adds rows. Treating the work as a shipped deliverable rather than a maintained column is how a language ends up half-translated in a live game, and it is why 97.3% is the honest headline rather than an embarrassment.
Five years in, the Turkish column of Battle Talent holds 2,499 translated strings against 2,569 live English ones, built from 17,488 English source words. It started as volunteer work on an alpha and became one of the game's shipped languages, which happened less because of any single decision than because I kept turning up when new rows appeared.
The most useful thing this project gave me is the length data on this page. Turkish comes out shorter overall and longer on exactly the strings that cannot afford it, and the only reason I know that with numbers instead of a hunch is that the sheet is still there, five years of it, in one column.