Skip to content
Alp Yalay
HomeWorkCase StudiesAboutResumeContact

Alp Yalay

Portfolio of products, websites, and bilingual systems from Istanbul.

Pages

HomeWorkCase StudiesResumeAboutContactPrivacyDevelopers & API

Developers & Agents

Developer Portal (/developers)OpenAPI 3.0.3 SpecLLMs Context (/llms.txt)MCP Server Endpoint (/api/mcp)Agent Skills Catalog

© 2026 Alp Yalay. All rights reserved

Back to Case Studies
Game Localization
Virtual Reality
Live Localization

Five Years on One Spreadsheet Column: Localizing Battle Talent into Turkish

January 2021 - Present
14 min
Alp Yalay
XLinkedIn
Role
Turkish localizer (official, in-game)
Developer
CyDream Technologies
Platform
Meta Quest (primary), SteamVR
Scale
2,569 live strings · 17,488 English words

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.

The Project Context

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.

1. What This Actually Is

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.

2. What Makes This Hard

The linguistics is the easy part. Three things make this project different from translating a finished document:

A. The English Is Already a Translation

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.

B. One Shared Sheet, Nineteen Languages

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.

C. VR Gives Text Nowhere to Go

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.

3. How the Work Runs

Deliberately unglamorous, and largely unchanged in five years:

01. Watch for New Rows

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.

02. Keep the Terms Fixed

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.

03. Check It in the Headset

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.

04. Sweep the Whole Column

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.

4. Where It Stands

Coverage: 97.3%, Not 100%

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.

The Game It Ships In

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.

What Five Years Taught Me

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.

Project Timeline

2021

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.

2022

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.

2023

The SteamVR build arrived and brought the modding-related strings with it. Same sheet, more rows.

2024

Routine maintenance: new content drops, new rows, periodic consistency passes over the whole column.

2025

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.

5. What the Sheet Says

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.

How to read these numbers

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.

The scale of it

0
Live English strings

2657 rows in the sheet; 88 are dead keys with no English text left.

0.0%
Turkish coverage

2499 translated, 70 still open from a recent content drop.

0
English source words

13,772 words in Turkish, 21.3% fewer.

-21.3%
0.0★
Battle Talent on Meta Quest

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.

What the corpus is made of

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:

Turkish uses fewer words and almost the same space

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 words against Turkish words, by category
EnglishTurkish
Weapons, enemies & items
−1568 words
Interface
−949 words
Tutorial & intro
−779 words
Character stats
0 words
Spells
−178 words
Combat mechanics
−217 words
Modifiers
−25 words
EnglishTurkish
Weapons, enemies & items76136045
Interface47323783
Tutorial & intro26351856
Character stats10551055
Spells709531
Combat mechanics496279
Modifiers248223

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.

The chart that actually matters

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

Does Turkish come out longer or shorter?
Strings that get longer
51.3%
Strings that get shorter
41.8%
All stringsDescriptions (40+ characters)
Strings that get longer51.3%39.3%
Strings that get shorter41.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.

What I would tell you not to conclude

  • Do not read the store ratings as a localization result. 4.7 stars on Quest and 77% positive on Steam describe the game. A good translation cannot rescue a bad game and a bad one is rarely what a review is about. They are here as context for what the text ships inside.
  • Do not read the category split as the developer's structure. It is inferred from key prefixes, with a leftover bucket doing a lot of work.
  • Do not turn 97.3% into a quality claim in either direction. It is a snapshot of one afternoon. It was higher before the last content drop and it will be higher again.
  • Do not build a timeline out of this file. There is no revision history in it. The sheet carries an 'is new' flag, but only 45 of 2,657 rows have any value in it and only 4 are set — the developer uses it ad hoc, so it says nothing about churn.

Resources & external links

  • Battle Talent on Steam — 77% positive of 1,175 reviews as of 4 August 2026.
  • Battle Talent on the Meta Quest store — 4.7 stars from about 7.4K ratings as of the same date.

Key Takeaways

Character Count Beats Word Count

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.

Term Consistency Beats a Better Translation

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.

A Live Localization Is Never Done

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.

Summary

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.

Need a Long-Term Localization Partner?

Live games need someone who is still there for the fourth content drop. If that is the shape of your problem, let's talk.

Previous case studyMoney Visualiser: One Product Idea, Three CodebasesProduct DevelopmentNext case study4,586 Strings, 99 Players: The Heroes of Hammerwatch II Turkish PatchGame Localization

Contents

  1. The Project Context
  2. 1. What This Actually Is
  3. 2. What Makes This Hard
  4. 3. How the Work Runs
  5. 4. Where It Stands
  6. Project Timeline
  7. 5. What the Sheet Says
  8. How to read these numbers
  9. The scale of it
  10. What the corpus is made of
  11. Turkish uses fewer words and almost the same space
  12. The chart that actually matters
  13. What I would tell you not to conclude
  14. Resources & external links
  15. Key Takeaways
  16. Summary