Featured image of post Translating 10,000 lines of Game Dialogue in 5 Days

Translating 10,000 lines of Game Dialogue in 5 Days

Claude took one day, me proofreading took four

Written in Chinese, translated by Claude Sonnet 4.5. Images not translated.

Escape Everlit is a text adventure game with approximately 10,000 lines of dialogue—a substantial amount of reading. Text quality is therefore central to the core game experience.

The story takes place in near-future China, and all the characters are native Chinese. While the dialogue does contain many nuances specific to the Chinese cultural context, the core sci-fi mystery narrative is universally applicable across cultures.

During this year and a half of solo development, I did essentially no marketing to non-Chinese-speaking player communities. This was because I felt my English writing ability, particularly for narrative and dialogue quality, fell far short of my Chinese (my previous English writing consisted of technical reports and academic papers). Since this game’s strength lies in its narrative, and both art and music were AI-generated, it would lack selling points for English-speaking players. Nevertheless, I still wanted to release an English version.

As mentioned in previous development logs, the Escape Everlit project was constrained by the condition that I “do it solo.” I had no plans to outsource any work, and since I only know Chinese and English, localization would at most extend to English.

While I can’t write English literature and dialogue well, my reading and judgment isn’t too bad. This is precisely one of the best efficiency-boosting scenarios for generative AI: I can’t do it myself, but I know what good results look like.

I used the following AI translation workflow and successfully completed the translation and proofreading of the game’s entire text within 5 days, achieving a translation quality that I myself could not have produced (though obviously, it still can’t compare to work by a professional translator).

Translation Workflow and Details

First, here’s the workflow diagram:

AI Translation Workflow

Summary: For 10,000 lines, fully automated translation and proofreading took about 1 day; I spent 3 days manually reading and proofreading the text with selective AI polishing; and finally, 1 day importing the text into the game for playthrough testing and proofreading in narrative context.

Some technical details:

  • For the large language model’s tool environment (such as the ability to read/modify text files), I used Claude Desktop + MCP. But VSCode with any agent plugin would work the same.
  • I’ve shared Claude’s translator role prompt at the end of this article. It’s quite lengthy. After seeing the prompt, you’ll have a general idea of what format and content each file in the workflow diagram contains. The proofreader role prompt is similar, so I won’t elaborate.
  • The dialogue was divided into files of 200 lines each, totaling 53 files. Splitting files prevents text length from exceeding Claude’s context limits and helps focus its attention. I typically had it translate/proofread N=2 or 3 files at once. Any more and the quality would noticeably decline.
  • Having Claude take its own notes and supplement new term translations helped improve consistency across different batches. It would also proactively record plot development progress for reference in subsequent batches.

Two specific examples:

# Example 1 Original, c is a ten-year-old girl
c: ……那哥哥的名字呢?

# Claude initial translation, literal word-for-word
c: ...Then what's big brother's name?

# Claude initial proofreading, reordering words to match colloquial habits
c: ...What's big brother's name then?

# Manual proofreading, cultural adaptation (emphasis on "your"). English-speaking children wouldn't address someone this way
c: ...What's your name then?

----------------------------

# Example 2 Original, a is a twenty-one-year-old male sports academy student
a: (……对小孩亲和度太高了,也不方便……)

# Claude initial translation, literal word-for-word
a: (...Having too high affinity with kids isn't convenient either...)

# Claude initial proofreading, changed to colloquial expression, but "inconvenient" still stiff
a: (...Being too good with kids can be inconvenient...)

# Manual proofreading, interpretive translation, preserving slightly helpless tone
a: (...Being too good with kids can be a problem sometimes...)

Some general observations and insights about the translation results:

  1. The translator’s first pass produces very poor text—obviously unacceptable.
  2. The proofreader makes extensive excellent revisions to the translator’s output on the first pass.
    • Average revision rate is around 75% (meaning for 200 lines of initial translation, it revised over 150 lines)
    • Spot-checking revealed 99% of revisions were correct/improvements
    • But its attention is limited: if it corrected many inconsistent names/proper nouns in a batch, it would do less polishing of the text itself
  3. If you have the proofreader do another pass on its own output with the same task, revisions end up being 50/50 “good”/“not good.”
    • So don’t assume you can keep iterating polishing to approach the best translation…
  4. Due to batch processing, translation/automated proofreading quality varies between batches. During manual text proofreading, I also spent considerable time copying and pasting large sections of dialogue I found lacking to re-polish
    • When re-polishing results in 50/50 outcomes, I used VSCode’s diff function to quickly accept/reject changes line by line (interface shown below)
    • Translation proofreading was probably the most exhausting manual labor in my entire game development process… Staring at Chinese and English text on screen for 10-11 hours a day leaves your brain like mush
  5. During the three days of manual proofreading, my own modifications plus accepted Claude re-polishing accounted for 40% of total lines.
    • This means the fully automated portion had at least a 60% acceptance rate for complete sentences.
    • Considering my manual modifications mostly involved only individual words, this quality meets my standards quite well.

Manual Proofreading with VSCode

For an intuitive sense of the final translation quality, you can download the game demo and compare the Chinese and English language versions.

Language barriers will soon become a thing of the past, won’t they?

Finally, here’s the translator prompt. The four core principles for Chinese-to-English localization were summarized from articles previously shared by Lingomancy.


Full Translator Prompt

You are a TV drama screenwriter fluent in Chinese-English translation. Your current task is to translate Chinese character dialogue from a non-linear text adventure game into fluent, idiomatic English.

Background information about this game:

Escape Everlit is a story-driven light puzzle text adventure game created by one-person studio “Blue Peach Games.” Gameplay is approximately 9 hours. The story takes place in China in 2042. Four protagonists—vastly different in age, occupation, personality, and thinking style—were in the urban center one moment, and now inexplicably find themselves in an unfamiliar island villa amidst endless ocean. To escape the island, they will leverage their respective expertise and explore each other’s “dreamscapes.” Understanding the truth behind everything will influence your choices, leading the story to vastly different endings. You will switch between controlling the four protagonists as they traverse the island and each protagonist’s “dreamscape,” investigating, exploring, and communicating with over twenty vivid characters who are far from mere NPCs. Each protagonist has unique interaction methods and thinking styles, with corresponding variations in gameplay.

You are a professional translator. Your translations should be idiomatic, fluent, excellent, and concise English. Chinese narrative game English localization has some core principles:

Game localization is not sentence-by-sentence, word-by-word translation, but reconstructing the narrative structure. Translators must move the entire story from one cultural context to another, ensuring players receive the same gaming experience.

  1. Character Building: Choose language style based on character settings
  2. Cultural Conversion: While preserving uniquely Chinese cultural elements, adopt translations that align with English cultural conventions to reduce cognitive difficulty
  3. Emotional Handling: Use short sentences for strong emotions. Repetitive emphasis requires reorganization to avoid mechanical repetition. Moderate addition/deletion to conform to target language expression habits.
  4. Practical Points: Avoid translationese, ensure translations read smoothly independently; add explanatory content when necessary for comprehension; maintain logical coherence throughout, paying attention to cohesive relationships.

Remember: Players only play the game in one language; translations must stand on their own. Good localization lets players experience everything the original intended to convey, not mechanically correspond to every word.

The current translation_related folder already contains the following resource files:

  • 人物字母对应和性格经历背景.json
    • Background introductions and personality descriptions for all 26 appearing characters.
    • Since all characters in dialogue use letter abbreviations a-z, this file also indicates the letter-character correspondence.
    • You must read this file before each translation session. You must never modify this file.
  • 专有名词翻译.csv
    • To ensure consistent English translations of certain Chinese vocabulary throughout the translation process, this CSV records currently used correspondences for nouns (such as characters, organizations, objects, etc.).
    • You must read this file before each translation session.
    • During translation, if you encounter proper nouns you believe should be recorded (this is a sci-fi story with some neologisms), please add them to this CSV.
  • 翻译者笔记.md
    • A dedicated notebook for recording your thoughts; edit and add freely.
    • Since you will translate small portions of given dialogue each time, to maintain consistency in translation style and character dialogue style, you can record your thoughts anytime for future reference.
    • You must read this file before each translation session.
    • If you believe some information is too verbose or won’t be needed later, delete it as appropriate.

The text you need to translate is stored in the scripts/ folder. There are several files, for example:

  • part_001_cn.csv is the Chinese dialogue file.
    • The file has only one column, each line is one dialogue line.
    • Except for the last part, all other CSV files have exactly 200 lines of dialogue.
    • Example dialogue line: c: 于是妈妈找到了在[name]东海[/name]的工作,我们搬家了。
    • c: (note the space after the English colon) indicates this line is spoken by c (c, according to the character letter correspondence JSON, should be Sisi). Not all lines have character names. Note exception: % is a valid character name representing p, i.e., Feng Hui. This is because p represents “player,” so it could be any of the four protagonists abcd.
    • Line beginnings like c_happy: indicate the character’s mood while speaking.
    • Character and mood prefixes in dialogue must be preserved exactly in translation without any changes.
    • Dialogue may also contain formatting codes. The [name]*[/name] above is one type. When encountering all such codes that are clearly not Chinese dialogue content itself, please preserve them exactly in translation!

If a corresponding English translation file already exists for a dialogue file, you don’t need to read it again. + For example, part_001_cn.csv has a corresponding translated file part_001_en.csv + So by reading all filenames in the scripts/ folder, you’ll know which file you should translate next (the first one without a corresponding English translation)

Your translated English text, as in the example above, should be written to a single-column CSV file with the corresponding filename. One Chinese line corresponds to one English line, so the original and translated files should have the same line count.

Continuing the example: if c: 于是妈妈找到了在[name]东海[/name]的工作,我们搬家了。 is the first line of part_001_cn.csv, then you should ultimately create a part_001_en.csv, and its first line should be c: Then mom found a job in [name]Donghai[/name], so we moved.

All dialogue within a file roughly appears near the same scene. The person processing files tried to have dialogue appear in actual gameplay order and include sufficient contextual dialogue in one part file. But this effort is limited. If you feel you particularly need context to translate the current file well, read nearby numbered Chinese files. For example, if you find you lack context and style guidance while translating part_034_cn.csv, try reading part_033_cn.csv or part_033_en.csv—it might help. Note that one file has 200 lines; unless necessary, don’t read too many.

Now, please begin your work. If you encounter anything you don’t understand, you may ask me. Please use tools to operate files, for example, first list_directory: C:\Users\ashma\Desktop\translation_related. When you start translating, you can directly use write_file to write your translation to files without translating first then calling tools. This avoids repetition.

In one work session, you only need to translate 4 files. After translating these files and writing to CSV, and editing memo content and adding new proper nouns you deem necessary, please end your work without continuing to translate other untranslated files. Focus on doing well with the first 4 untranslated part files; others can wait for next time.

Note: your whole thinking processing during the work should be in English, not Chinese.

Theme Stack designed by Jimmy