Languages and Translations
Write your events in your languages, see what players read in each one, and translate from the language bar
Your operator offers one or more languages. Every event is written in one of them, and each of your other languages holds a translation of every text of the event. A language is a lens over the same event, not a second form: you pick it on the language bar, and the same page shows every text in that language.
For example, a team that offers English and Swahili writes "FKF Premier League 2026/27: who wins the title?" in English, with 20 markets. The Swahili tab says Not started. They press Translate missing (41), see "about 2 US cents" beside it, and the tab then counts 41 texts waiting for approval. Players keep reading English until each draft is approved, so the team presses Review and walks through the 41 texts with the keyboard. Later they fix a typo in market 7's English, and that text's Swahili turns Out of date with two buttons: Update automatically or Keep: same meaning.
Who Manages What
The owner of an event manages its translations.
| Your events | Phoenix's events | |
|---|---|---|
| Written by | Your team, in any of your languages | Phoenix, in English |
| Translated and approved by | Your team | Phoenix, into the languages operators offer |
| What your team can do | Everything on this page | Read the translations in your languages, and report a problem |
| What Phoenix staff can do | Read them, for support | Everything |
Phoenix translates an event into the languages of the operators whose storefront shows it. Phoenix staff can also add a language that no operator offers yet. Your language bar lists only your own languages, so you never see those.
Writing, translating with AI and approving need the Content or Admin role. Other roles can read (see Staff and Roles).
The Four Statuses
Every text has one status in each language. You see it as a small chip next to the text, with the language code, for example SW Approved.
| Status | What it means | What players read |
|---|---|---|
| Missing | There is no translation yet | The text as written |
| Out of date | The original text changed after the translation was made | The text as written, until you update the translation or keep it |
| Waiting for approval | An AI draft that nobody has approved yet | The text as written, until a person approves it |
| Approved | A person wrote it, a person approved it, or it comes from one of Phoenix's templates | The translation |
Hover a chip, or move to it with the keyboard, to see who made the text:
- Waiting for approval: "Drafted by Claude Sonnet 5.5. Players read the English until a speaker approves it."
- Approved: "Approved by" a person's name, "Written by" a person's name, or "From template" and the template's name.
- Out of date: "The English changed after it was translated. Players read the English until it is updated or kept."
- Missing: "Players read the English."
Where the text says "English" here, it names the language your event is written in.
A text that is the same in every language, such as a team name, is simply a translation equal to the original: press Same as English on it.
What Players Read
Players only ever read Approved text. For a player reading language L, each text resolves in this order:
- If the player reads the language the event is written in, the text as written.
- Else the approved translation in L.
- Else the approved translation in your default language, when that is not the language the event is written in.
- Else the text as written.
A draft is never shown before a person approves it, and an out of date translation is never shown at all. Players never see a status or the words "Waiting for approval": those words are for your staff. The embed's only mark is the rules notice with Show the original (see Translated Rules).
The Language Bar
The language bar sits on the new event form, on the event page and on the review screen. It looks the same on all three.
- The first tab is the language the event is written in, marked Written in.
- Every other tab names only the language, for example Swahili. Beside it a bar and a few words show how far it is: Not started, Nothing to translate while the event has no text yet, a count such as "3 missing · 2 out of date · 33 waiting for approval", or "All 8 approved".
- Hover a tab, or move to it with the keyboard, to see who offers the language: "Offered by" and your operator's name. The first tab also says "The event is written in it."
- Pressing a tab switches the screen into that language.
- Translate missing (n) drafts every missing and out of date text in every language of the event at once. The estimate sits beside it. It shows only while something is missing or out of date.
- Review (n) shows the number of texts waiting for approval in all languages. It opens review on the language you are looking at, or else on the first language that has texts waiting (see Reviewing Translations).
The languages an event needs are your operator's languages, less the one the event is written in. Your Admin sets your languages under Manage > Your operator.
On a phone the tabs scroll sideways, and Translate missing and Review move into a bar at the bottom of the screen.
Write an Event in Your Languages
Open Events and choose New event. The page starts with the Owner line, above everything else: "Owner: Acme (your event, only your players see it)", with your operator's name. For your staff it is a fixed line, not a choice. Under it you pick the template (Yes/No question or Head-to-head), and then the language bar.
The written language
The first tab shows the language you are writing in, by default your operator's default language, the first one in your list. Press the small arrow on the tab to write the event in another of your languages. Once you have translations, the back office asks first: "Write this event in Swahili?" with "Every translation becomes out of date: they were made from the English." Press Change to go on.
Your language, same form
With the first tab selected, the form is the one you know, plus a chip row at the right of each text's label: SW Approved, SW Waiting for approval, FR Missing.
Pick another language and the form keeps its panels in the same order, with a line saying "Swahili: the same form, only the texts. Each saves with the event." Each text now shows the original quoted above ("English, as written"), and your translation field under it, with its status and the buttons that fit:
| Status | Buttons |
|---|---|
| Missing | Same as English. Or just type |
| Waiting for approval | Approve |
| Out of date | Update automatically and Keep: same meaning, with the old and new original side by side |
An empty translation field says "Players read English" and shows the text on hover. Typing a translation yourself makes it Approved, written by you. Each market card shows its own progress in that language, so 20 markets read as 20 short cards. The Event panel says that the category, place, image, times and source are the same in every language: they are not translated.
On a screen 1,280 pixels wide or more, the Side by side switch shows the original and the translation as two columns of the same rows.
The Player preview has one button per language (for example EN and SW). It shows the card as players of that language read it: text without an approved translation shows in the language the event is written in.
Nothing in the form is saved until you press Save draft or Publish. A draft you approve in the form is Approved when the event is created. A draft you leave alone is created as Waiting for approval.
The checklist and Publish
The checklist has one line per language, marked optional, such as "Swahili: Not started: 3 texts missing" or "Swahili: 2 waiting for approval · 6 approved". It is never required, never ticked while anything waits, and never blocks Publish.
Publish asks you to confirm and adds a Languages line for each language, for example "Swahili: 6 of 8 served, 2 waiting for approval. Acme players read those in English until a speaker approves them." or "Swahili: not translated. Acme players read the English."
Translate Missing
Translate missing (n) asks the AI to draft every text that is missing or out of date, in all of the event's languages. Press it once and read the estimate beside it first, for example "about 1 US cent" or "under 1 US cent".
- Each draft arrives as Waiting for approval. Nothing reaches players until a person approves it.
- It never replaces a text a person wrote or saved. If you edit a text while the translation runs, your text wins.
- On a saved event it runs on the server. You can leave the page: the progress shows as "Translating 41 texts · 12 done" with Cancel, on the language bar, on the event page's Languages card and on the Translations tab. Texts already drafted when you cancel stay, waiting for approval. When it ends, a message says how many texts were drafted.
- The Timeline records it: how many texts were drafted, by which AI model, who asked and what it cost.
- On the review screen the button covers that one language.
In the new event form the event does not exist yet, so the drafts arrive in the form while you wait.
If it stops, the message says why:
| Message | What it means |
|---|---|
| "Today's automatic translations are used up: translate by hand, or try again after midnight UTC." | The daily limit on automatic translation is used |
| "Automatic translation is not set up on this backend: translate by hand." | Automatic translation is not available for your operator yet. Ask your Phoenix contact |
| "Claude declined to translate these texts: translate them by hand." | The AI refused these texts |
| "Claude did not answer: try again in a moment." | A temporary failure. Press it again |
Texts drafted before it stopped stay, waiting for approval.
Change the Original Text
Changing the original never loses a translation silently. It puts each translation of that text Out of date, at the text itself:
- In the new event form, the chip turns SW Out of date at once, and a line appears under the field: "Your change puts the Swahili of this text out of date: players read the English until it is updated." with the old and new original, and the buttons Update automatically and Keep: same meaning. If you ignore it, Publish lists the texts.
- On the event page, editing a description, a draft market or a market you add shows, before you press Save: "Saving puts the Swahili of this text out of date." and a tick box, "Update it automatically (it will show Waiting for approval)" or, for several languages, "Update them automatically (they will show Waiting for approval)". It is ticked by default. After Save, a message says what became of the translations: "Updating its Swahili: it shows Waiting for approval once drafted", or, if you cleared the box, "Its Swahili is out of date: players read the English until it is updated."
- A market you add shows "Players read this market in English until it is in Swahili." with a tick box, "Translate it automatically (it will show Waiting for approval)".
- On the review screen, an out of date text shows "The English changed" with the old and the new original, and the changed words marked.
The two ways out:
- Update automatically drafts a new translation. It shows as Waiting for approval.
- Keep says the meaning did not change. The translation returns to what it was before: Approved if it had been approved, Waiting for approval if it was still an unapproved draft.
Some originals lock. The event title and image lock at the first order or position on any market, and a market's question, rules and outcome names are fixed at publishing. Translations never lock: you can write, change and approve a translation at any time, including after trading has started. On a rules translation after publishing, the review screen adds "For reading: the English rules decide. Players see 'Show the original'. Changes are recorded."
The Event Page in a Language
On the event page the language bar sits under the line of facts. Pick Swahili and the page switches into Swahili: the title, the description and the market questions in the Markets table, each with its chip. A text that is missing, out of date or waiting for approval shows in English with a small EN mark, exactly as players get it. A line under the bar says "Reading the event in Swahili, as Acme players get it", with Back to English. Pick the written language to return.
A pencil beside the title or the description opens the review screen on that language, where you change the translation. After the first trade the title shows a lock on the English, and the pencil's hint says "Translations stay editable; the English is locked."
The Languages card on the side shows, for each language:
- a bar and the counts in the four words,
- who reads it, such as "offered by Acme", and how many texts are served, such as "4 of 42 served",
- Review, Translate missing and Preview. Preview shows the event as players of that language read it.
While a translation runs, the card shows "Translating 41 texts · 12 done" with Cancel. The card ends with "Optional, nothing waits for it. A text with no translation shows players the English it was written in."
The Timeline records translation work, with the person's name: "12 Swahili texts approved", "3 Swahili texts written, 2 approved" with "after trading started" when it happened after the first trade, and "Translate missing: 41 Swahili texts drafted by Claude Sonnet 5.5" with the cost, for example 0.02 USD.
Phoenix's events
On a Phoenix event, the language bar lists your languages only, and you cannot change anything. A flag beside a text in a language, and Report a problem in the Languages card, open the read-only review screen, where you can report the text. See Reporting a Translation Problem.
Languages Never Block You
Languages never gate Save draft or Publish. An event with missing, out of date or waiting texts publishes as it is, and players read the original for those texts. Missing and waiting translations are not in your Queue either, because nothing is wrong: you find them under Events > Translations.