The Translations Window
๐ The Translations Window
This window isn't where you type your translations text by text: it's where you manage the project's languages โ add them, track their progress, and move the text to translate through a file. The actual translation work happens elsewhere, in a .po file. ๐ฏ
๐ฑ๏ธ 1. Opening the window
Cmd+Shift+K, or the "Translate" entry in the project's main menu.
๐ 2. First launch
If no language has been set up yet, the window first asks you to:
- "Select your project's default language" โ the language you write your blocks in.
- "Select the first language you would like to translate your project" โ the first language to add.
โ 3. Adding a language
The "Add a translation" button opens a language picker.
๐บ You cannot pick the project's default language, nor a language that has already been added: each language can only appear once in the list.
๐ 4. What the window shows for each language
Once a language is selected in the left panel, the panel shows:
- The creation and last-update dates.
- An overall completion rate, then broken down by category: blocks, menus, character biographies.
A piece of content only counts as "translated" if all of the text it exposes has a translation โ a half-translated block counts as untranslated in the percentage.
โ๏ธ 5. Where the text actually gets translated
Nowhere in this window. The flow is:
- "Export a PO file" โ generates a
.pofile listing all the text to translate (dialogue, choices, alerts, narrator text, menu text, character biographiesโฆ), with any translation you already imported. - You edit that
.pofile outside Celestory, with a translation editor or a plain text editor. - "Import a PO file" โ reloads the corrected file. The completion rate updates right away.
๐บ There is no translated-text editor inside the Celestory interface: no "translation" field sitting next to the original text, block by block. Everything goes through exporting and importing the .po file.
๐บ If the imported file has a formatting error, the window lists the lines that failed โ the rest of the file is still imported.
๐ฎ 6. How the player sees the right language
Choosing which language is displayed does not happen in this window: the player picks it, from the menu inside the played app. This window only prepares the translated content ahead of time; it doesn't drive what's shown during play.
๐ซ 7. What is NOT translated automatically
Only the text that a given block type explicitly exposes as translatable goes into the export: dialogue, choices, alerts, narrator text, background changes (the displayed text, not the image), notifications, input fields, QTE, swipe, clickable zones, menu text, character biography.
๐บ Everything else must be translated by hand, inside the block itself: the code in an HTML5, CSS or Javascript block is never extracted to the .po file โ you have to duplicate or edit those blocks per language. The same goes for images, sounds and videos: switching language does not automatically swap the displayed media, only the text that comes with it, when such text exists.
โ Next step: open the Labels window to organise the blocks you just spotted as still needing translation. ๐ท๏ธ
Updated on: 21/09/2026
Thank you!
