Skip to content
acteme

Localization

A project can ship in up to 40 languages. Each language has its own translations, takes, statuses and, optionally, its own voice per character.

Adding languages

Add target languages in the project's Settings → Languages. The writing locale stays the source. Every other language starts with no translations; lines without a translation in a language are skipped when you render it.

Getting translations in

There are three ways, and you can mix them:

Import them with the script

Add a column per language to your CSV, or a translations object to your JSON:

key,character,text,de-DE,fr-FR
gc_alert_01,Guard Captain,Did you hear that?,Hast du das gehört?,Tu as entendu ça ?

Columns can be named with any locale tag (de-DE, text_ja-JP, fr_fr) or a bare language (de), which is matched to the project's German locale. See Importing scripts. Only languages the project already has are imported.

Edit them in the studio

Switch the Script tab's language filter to a target language. The list then shows that language's text and status, and opening a line shows the source text above the translation. Each translation can have its own style; leave it empty to use the source line's style.

Draft machine translation

Settings → Draft translations machine-translates lines that don't have a translation yet. Vocal tags stay in place, and the line's writer notes are passed along as context. It costs 1 credit per 10 source characters.

Machine-translated lines are marked in the line panel. They're good for placeholder voice-over and timing checks; get a native speaker to review them before you ship.

Status per language

Each translation has its own status: draft, rendered, approved or stale. A translation goes stale when its text or style changes, when the source line's character changes, or when it inherits the source style and that style changes. Editing only the source text doesn't mark translations stale; update the translations too.

In the Script tab, the status filter and the counters apply to the language you're viewing.

Rendering languages

In the render dialog, pick which languages to render. Each line is rendered once per selected language, from its translation, with the voice cast for that language. Missing takes is the quickest way to fill in a language you just added.

Casting per language

Dubbed games usually use a different actor per language. In the Cast tab, give a character another voice and move languages onto it, with an optional style override and audition line per language. See Per-language casting.

Pronunciation respellings can also be language-specific; see Pronunciation lexicon.

File names

Include {locale} in your file template so languages don't overwrite each other. The default, {scene}/{locale}/{key}, already does. Engine plugins can be limited to some languages; see Engine plugins.