Ask an AI about this

This is where the actual translating happens: a side-by-side view of the game's original text and your version, with filters, a glossary, translation memory, and machine assist to speed you up.

The Translate page

This is where the actual translating happens: a side-by-side view of the game's original text and your version, with filters, a glossary, translation memory, and machine assist to speed you up.

The Translate page is where you'll spend most of your time as a translator, so it's built like a good workbench: everything within reach, nothing in the way. The idea is simple. The game's text arrives as a long list of strings (a menu label, an item name, one line of dialogue each), and you work through them: original on the left, your translation on the right. Everything else on the page exists to make that loop faster and more consistent.

8,413Translated4,070Not translated12,483Total strings
67.4%
Done
NPC_BENCH_REST_02

Source · English

Rest here. The kingdom can wait a moment longer.

Target · Japanese

ここで休むといい。王国はもう少し待てる。

20 charsSaves itself as you type
One string, start to finish. Nothing is submitted and no button is pressed: the row goes from To do to Done the moment there is text in the box, and the counters at the top move with it.

The string list

Here's a real row, editable. Try typing into the right side:

To do
NPC_MELINA_GREET_01
Source · English
Ah, Tarnished. I have been waiting for you at the foot of the Erdtree, {player_name}.
Target · Japanese
AI suggestionああ、褪せ人よ。黄金樹のふもとで、ずっと待っていた、{player_name}。
NPC · Dialogue
0 chars
CtrlnextCtrlprev
One string from a game. The key and file path at the top tell you where it lives in the game. The speaker icon plays the original voice line when there is one. The {player_name} token is a placeholder (more on those below). Accepting the AI suggestion fills the box; you then edit it into shape.
WhereWhat it does
Status badgesEvery row reads To do or Done, and a row you have marked "no translation needed" says so instead. Done arrives the moment the box has text in it, which makes the remaining work visible as you scroll.
Quick filtersThree pills above the list: All, Untranslated, and With audio. Untranslated is the one you'll live in.
Search and sortSearch runs over both the source and your translation. The sort menu reorders the list thirteen ways, including untranslated first, recently updated, and AI translated first.
FilesThe left rail groups the game's text by file with a percentage on each, so "finish chapter 2" is a click rather than a search.
LabelsTag rows (NPC dialogue, UI, items) and filter by tag. Useful for splitting work with teammates or doing all of one kind of text in a sitting.
No translation neededSome strings are asset names or debug text that must stay in English. Mark one and it drops out of every coverage number instead of sitting there as unfinished work forever.

Where the strings come from

Most Unreal games keep their text in translation bundles, one per language, and that is what Tranzio reads when you add a game. Some keep part of it somewhere else: inside the game's own asset files, in what Unreal calls a string table. Nothing about those strings appears in any translation bundle, so a tool that only reads bundles leaves them in English no matter how complete the translation looks.

A third arrangement is a data table: a spreadsheet inside the game with one row per line and one column per language. Games that ship voice acting often keep their whole script this way, because the row's name is also the name of the recording. Here too nothing reaches a translation bundle, and the gap can be most of the game: one such title keeps 2,117 menu and document strings in its bundles and all 3,356 of its spoken lines in a single table.

A few studios skip Unreal's system altogether and invent their own text format. Those games ship a translation bundle that is technically present and completely empty, which is the most confusing case of all: everything looks like it worked, and the editor opens with almost nothing in it.

Tranzio reads all four. Each source shows up in the list as its own document, named after the file it lives in, and they all translate exactly like everything else. At build time the last three take a different road home: instead of writing a translation bundle, Tranzio rewrites the file itself around your text and packs the rewritten copy. You do not have to know which kind a string is, and nothing in the game folder is modified either way.

A data table is the one case where Tranzio has to choose what to overwrite, since every language sits in the same file. It writes over the column of the language you are translating from, which is the one the game reads while you are playing it, so your text appears exactly where the original did.

How much of a game lives outside the bundle varies wildly. Little Nightmares II keeps its entire menu and every tutorial hint in string tables, 208 strings that were invisible before. Hogwarts Legacy is the extreme case: its translation bundles hold one placeholder string between them, and all 53,844 of its real lines are in a format Avalanche wrote for themselves. Plenty of other games keep everything in the bundle and have none of this.

If a game really does keep its text somewhere Tranzio cannot read yet, the add-game run says so at the end rather than leaving you to work it out from an empty editor.

Two ways to work

The page has two shapes and a toggle in its header. Workspace is the three-pane view: files on the left, the string list in the middle, and translation memory, string info, audio and comments on the right. Focus throws all of that away and gives you one string at a time, full width, which is what you want for a long dialogue session. Esc brings the panes back.

Files
Strings
Context

Files on the left, the string list in the middle, memory and context on the right.

The same page, two shapes. Nothing is lost in Focus mode; the panels are one keypress away.

Your progress, always visible

Five cards sit under the page title and update as you type: how many strings there are in total, how many are translated, how many are not, how many you have excused from translation, and how many carry a voice line. Watching the second number climb is half the motivation.

Total strings
12,483
Japanese
Translated
8,412
67.4% done
Not translated
4,071
32.6% left
No need to translate
216
1.7% of all
With audio
2,841
22.8% voiced
The stats strip from the top of the page. The percentages under each number are the share of the whole game, so you can see progress without doing arithmetic.

Bookmarks, for coming back to a line

Some lines you cannot finish on the spot. A pun with no obvious equivalent, a term the team has not settled on, a string whose context you want to check in-game first. Click the bookmark icon on a card (or the button in Focus mode) and the line joins a list in the Marks tab of the left sidebar. Clicking it there takes you straight back, however deep in the document it sits.

Bookmarks are yours alone. They live on this computer, they are never uploaded, and nobody else on the adaptation sees them, so you can flag anything you like without it reading as an instruction to a teammate. They also never travel inside a published build.

The Marks tab. A note is optional; without one the row shows when you flagged it. Removing a bookmark leaves the translation untouched.

Saving your work

Typing does not write to the database straight away. Each line you change is held as a draft, and a bar appears along the bottom of the page counting them: 3 unsaved changes. That bar is the thing to watch, because it is the only place the count lives.

ControlWhat it does
Save allWrites every draft you have open to your computer at once. The button carries the count, so you always know how much is pending.
⌘ + SThe same thing from the keyboard, without reaching for the bar.
DiscardThrows every pending draft away and reloads the saved text. There is no undo for this, so read the count first.

Because drafts are not written until you save them, the bar showing a count is your cue that there is work in the page that is not yet on disk. Save before you close the game or switch to another one.

Placeholders, handle with care

Some strings contain tokens like {playerName}, %d, or <color>. The game fills these in (or styles text with them) while running: %d might become "42", {playerName} becomes whatever the player typed. Treat them as sealed boxes: move them to wherever your language's grammar wants them in the sentence, but never translate, respell, or delete them.

Moved, not touchedWorks

What you write

{player_name}、骨を%d個あつめてくれ。

What the player sees

Hornet、骨を12個あつめてくれ。

Both tokens survived. Word order is yours to change.

One line written four ways, with what the game prints underneath each. Only the first take leaves the tokens alone, and it is the only one that works.

A missing or mistyped placeholder can crash the game or print blank text at that spot. Nothing checks this for you yet, so it is worth a glance every time a row has a token in it: count the tokens in the source, count them in yours, and make sure they are spelled identically.

The glossary keeps you consistent

Character names, place names, recurring item terms: decide once how you translate them, save the pair in the glossary, and it follows you through the rest of the project. When a term appears in the string you're translating, the panel shows your agreed translation right there.

Glossary · 3 terms
Tarnished褪せ人Erdtree黄金樹Roundtable Hold円卓

Sign in to manage glossary.

The glossary panel with a few term pairs. In a long game, this is the difference between one Erdtree and three competing spellings of it.

Translation memory

Games repeat themselves constantly, and so will you. As you move onto a string, Tranzio searches everything you have already translated in this project for lines that read like it and shows the closest matches with a similarity score. Click one and it drops into your box, ready to adjust.

Translation memory · 2 matches
Translation memory for the string in hand. A 94% match usually needs one word changed; a 71% match is a starting point rather than an answer.

Identical strings, settled at once

Under it sits a stricter panel: Same source, for strings whose source text is exactly identical. A game can carry the same "Continue" under forty different keys, and the panel lists them one row per string, each with the key and file that locate it and whatever is written for it today. Translated rows come first, identical wordings sit together, and the ones nobody has touched are listed too. Only an exact match counts: "NEW GAME" never reaches "Begin a new game", however close the two read.

Same source5 strings

This source is translated 2 different ways. Pick one to keep them consistent.

Where else it appears
  • /UI_MAINMENU_NEWGAMEMainMenu_Game.locres

    新しいゲーム

    Same as yours
  • /UI_NEWGAME_TITLEMainMenu_Game.locres

    新しいゲーム

    Same as yours
  • /UI_PAUSE_NEWGAMEHUD_Tooltips.locres

    ニューゲーム

  • /UI_TITLE_NEWGAME_CONFIRMSettings.locres

    Not translated yet

Four keys shipping the same English, saying two different things. Reading the list top to bottom is the fastest way to catch that.

It works in both directions, which is the useful part.

WhereWhat it does
Copy to your translationPulls that row's wording into the box you are editing, replacing what is in it. Good when a twin already got it right. A row that already matches what you have says so instead of offering the button.
Apply your translation to allPushes the wording in your box out to every identical string at once. This is the alternative to searching the project and retyping a phrase forty times after you change your mind about it.

The push asks before it writes, because it can overwrite work. The confirmation shows the exact source being matched, the wording about to go in, and the wordings about to be replaced, and it lets you choose between all identical strings and only the empty ones. Afterwards the toast carries an Undo that puts every previous translation back, so settling on a phrase is never a decision you have to be sure about in advance.

Repeated English does not always want repeated target text. A noun and a button label can share a word in English and need different wording in yours. Read the list before you push, and use "only the empty ones" when you are filling blanks rather than settling an argument.

Machine assist

The Translate with AI button in the header pre-fills rows for you. You choose how much to do (a count of untranslated strings, or a set you picked by hand), which model to use, and whether it should assign labels as well as write the text. Tranzio quotes the cost in credits before it starts and streams the results in as they arrive, so you can watch and stop.

For long games this is a real accelerator: fixing a decent draft is much faster than typing from zero. Just never publish the raw output. Automatic translations miss tone, context, and every joke; a machine line is a starting point, and your edit is the translation. Rows written by AI are marked as such in the string info panel, so you can always tell what still needs a human pass.

Keyboard flow

The editor is built to keep your hands on the keyboard:

ShortcutAction
Ctrl+SSave every pending change
Ctrl+FFocus the search box
Ctrl+Next entry
Ctrl+Previous entry
EscExit focus mode

Keeping quality high

  • Watch the coverage numbers on the Build page. Text, audio and fonts each get their own percentage there, which is the clearest picture of what is actually left.
  • Lean on the glossary for names and key terms; future you will be grateful.
  • Use the identical-source panel to settle on one wording per repeated string, rather than discovering three of them after release.
  • Play your own translation early and often. Text that looks perfect in a list can overflow a button or read strangely in a cutscene. Build, install locally, and see it in-game.