> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://documentation.celestory.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 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:

1. **"Select your project's default language"** — the language you write your blocks in.
2. **"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:

1. **"Export a PO file"** — generates a `.po` file listing all the text to translate (dialogue, choices, alerts, narrator text, menu text, character biographies…), with any translation you already imported.
2. You edit that `.po` file **outside Celestory**, with a translation editor or a plain text editor.
3. **"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. 🏷️
