Skip to content
transglot for game studiosunity, unreal, gettext

Ship the patch in every language, without breaking the UI.

Unity Localization CSV and Unreal PO are read and written directly, with no converter in the middle. The glossary holds your character names and your lore, and a string that would overrun a button is refused before it reaches the build.

Without
With

Character names and item lore drift between builds, and between vendors.

One glossary, enforced when the engine writes and again at review, with up to 40 terms folded into every chunk.

German and Russian overrun a button that was measured in English.

The length check holds every row to the maximum length you set on the key, and flags an overrun for review.

A CSV round trip through a spreadsheet, and the plurals do not come back.

Unity Localization CSV and Unreal PO are read and written natively, and gettext PO carries plurals intact.

build · acme/rpg
illustrative patch summary
Format
Unity Localization CSV
Glossary
Names and lore held
Length check
2 held for review
Placeholders
Matched on every row
Draft on every patch branch
how it works

Your string table goes in. It comes back fitting the buttons.

five steps: Unity CSV or Unreal PO, the CLI on the patch branch, the translation pass, the length check, the table back in the build
solutions · route consolesolutions / gamesGame studios

steps · Game studios: Unity Localization CSV, Unreal PO → The CLI on every patch branch → Deep on names and lore → The length gate → The string table, back in the build

what goes inUnity Localization CSV, Unreal POnative codecs, no converter step, keys and comments intact
how it gets thereThe CLI on every patch branchor the GitHub Action, from Starter
which passDeep on names and loreFlux for the rest of the string tableFluxDeepboth passes, chosen per key
the checkThe length gateGerman and Russian overrun a button measured in English; refused before the buildplaceholderspluralsglossarylengththe check that catches it here
what comes outThe string table, back in the buildwritten natively; one CSV or XLSX upload takes 200,000 rows
an illustrative first weekGame studios
build · acme/rpg · patch branch
format · unity localization csv
glossary · names and lore · held
length check · 2 refused · 1 repaired
placeholders · matched on every row
string table written · patch ready
the plan that fits
Starter$19a month
  • 300,000 words a month
  • Unlimited projects and languages, three seats
  • The scoped token Free cannot mint: CLI, Action, API, MCP
The length check is one of four deterministic gates, and they cost nothing, on every plan. The CLI on the patch branch starts here.
See all eight pages
every one of them starts on the same free plan
A fixture, in your browser. The five steps, the two passes, the four checks and the plan rows are the shipped mechanism and the shipped price list; the first-week tape is illustrative and nothing on this plate is sent anywhere.

A converter and a spreadsheet, versus reading the file directly.

Transglot
native codecs
Engine formats
Unity Localization CSV and Unreal PO are two of the 20 native formats. Nothing converts in the middle.
Names and lore
One glossary, enforced by the terminology check when the engine writes and again on review.
Text that overruns the UI
A row that overruns is held for review, and vision grounding reads the rendered screen where it is enabled.
Plurals
224 CLDR plural languages, so a language missing a form is refused rather than shipped.
Patch cadence
Every patch branch drafts itself from Starter, through the CLI or the GitHub Action.
Vision grounding is a Team feature and up, switched on per project, and it spends no word allowance. The four deterministic checks cost nothing and run on every plan.
what breaks, and what catches it

Four ways a translation breaks a build.

These four checks run on every row, on every plan, on both passes. They are deterministic, which is why the answer is always the same one.
a lost token

Placeholders

A missing or renamed placeholder is refused rather than guessed at. Braces, positional tokens and printf shapes are all checked.

deterministic
a missing form

Plurals

Every plural category the target language declares has to be present. Arabic declares six, and six is what the check expects.

224 plural languages
a renamed hero

Glossary

Names, items and legal terms are held. Up to 40 terms are folded into each chunk, and the check runs again at review.

terminology
an overrun button

Length

The maximum length you set on the key is enforced on every row. A row that overruns is written and held for review rather than shipped.

held for review
The four checks are deterministic. That is the whole reason a broken row does not reach a build, and they run on every plan.
the QA runner pre-gate

FAQs

What a studio asks before the next patch.

How do I translate a Unity or Unreal game?
Point Transglot at the string table you already export. Unity Localization CSV and Unreal Engine PO are read and written directly, so nothing converts in the middle, and the table comes back in the same shape with the translations in it. From the Starter plan the CLI runs on your patch branch and the GitHub Action does it on every push.
Unity Localization CSV and Unreal Engine PO, alongside gettext PO, CSV, XLSX and both JSON shapes, out of 20 formats in all.
Put them in the glossary. Up to 40 relevant terms are folded into each chunk the engine sees, the terminology check enforces them when the engine writes, and it runs again in the QA review pass. A name that has been agreed once stops being renegotiated by whoever is translating that week.
Set a maximum length on the keys that sit in fixed furniture. Every row is measured against it, and a row that overruns is written and held for review rather than shipped. Where vision grounding is switched on, which is a Team feature and up, the screenshot on the key goes to the engine with the string so it can see the space it has to fit, and that pass spends none of your word allowance.
They do here, which is the point. CSV and XLSX are two of the seven formats that carry plurals, and every plural category the target language declares has to be present or the row is refused. Arabic declares six forms and is held to six.
In-context review renders the screen the string appears on, so a line is judged in its own frame rather than in a column. A session lasts 15 minutes and the screenshots behind it are kept for 90 days. In-context is available from the Starter plan.
One CSV or XLSX upload takes up to 200,000 data rows, which is the shipped ceiling rather than a soft recommendation. There is no cap on the number of keys a project can hold.
Yes, and that is the intended shape. Every patch branch drafts itself through the CLI or the GitHub Action, so the strings that changed are translated with the change rather than collected for a milestone.
Count the words in your string table, multiply by the number of languages, and read that against the plan allowances: 100,000 words to start and 10,000 a month after on Free, 300,000 on Starter at $19, 1,000,000 on Team at $49 and 4,000,000 on Business at $149. Words past the allowance are $0.0008 each, about $80 per 100,000. The first pass on a large back catalogue is usually one big month; patches after that are small.
Yes, the same way as any other. Direction comes from the language tag rather than from a special mode, and the locale table records it. The plural check is what actually does the work for Arabic, holding it to all six of its declared forms.
No. Your strings reach our AI subprocessors for inference only, under commercial terms, and the trust page names every one of them. The shared exact-match memory pool is anonymised and can be switched off per project, which is worth doing for an unannounced title.
Yes. They work in the same workspace with their own accounts, and access can be scoped to one project and one language. The translator role exists on every plan, including Free.
works with what you already run

41 connectors, already built.

native engine formats · four checks · one glossary

Translate the next patch in every language you ship.

Free covers one project, 100,000 words to start plus 10,000 a month, and 14 target languages. The CLI and the Action start at Starter.