Browse the docs

Languages and accessibility

Running a simulation in more than one language

Set a simulation's primary language, add machine-translated languages, keep them current, and send learners to a language with the lang link parameter.

Plans: All plansView as Markdown
On this page

Every simulation is written in one primary language, and you can add more languages to the same simulation so that one build serves learners in each of them. Languages are not limited to particular plans, and anyone who can edit the simulation can set and add them.

A learner gets a language from the link they open: you add lang= and a language code to the simulation's link or embed URL. This page covers the primary language, adding and maintaining more languages, and what a learner sees in each.

This page applies to simulations. Coaches and evaluators do not have additional languages. A coach has a separate voice language, described in Setting up voice for a simulation or coach.

Before you start

  • You need a simulation in your active workspace. You can add languages to a draft or to a published simulation.
  • Adding a language uses credits, so the workspace needs a credit balance. See Credits, usage and low-credit alerts.
  • Finish the text learners read in the primary language first: the opening line, the input placeholder and the start screen. Changing that text later marks the added languages as out of date.
  • Translations are made by AI. Plan to read each one, or have a speaker of the language read it, before learners use it.

Steps

Set the primary language

  1. Open the simulation and go to the Design stage, Simulation section.
  2. Under Language, choose the language the simulation is written in. The list has 16 languages, each shown with its own name followed by its English name.
  3. Select Save Changes.

A simulation is in English until you choose another language.

The primary language decides the following for a learner who opens the simulation without a language on the link:

  • What the character speaks. When the primary language is not English, the character is instructed to respond entirely in that language, whatever language the learner writes in.
  • The language of the feedback. When the primary language is not English, the AI judge is instructed to write the feedback and its reasons in that language. Quotes from the conversation stay as the learner and character wrote them.
  • The text built into the learner's page. Buttons, labels and messages that devlin.ai supplies appear in that language.

For Arabic, the learner's page is laid out right to left.

Choosing a different primary language does not translate anything you wrote. The opening line, the start screen and the rest of your text stay as you typed them, so write them in the language you choose. The one exception is choosing a language you have already added, described under "Make an added language the primary" below.

Add a language

  1. In the same place, under the Language list, find Additional languages and select Add a language.
  2. Open Choose a language and pick one. The list has every supported language except the primary and the ones you have already added.
  3. Select Translate. The button shows that the translation is running. When it finishes, the language appears in the list under Additional languages. There is nothing further to save.

Each added language is a row showing the language's own name, its English name, its link parameter such as ?lang=es, and a status. A new translation has the status Auto-translated, unless its criteria could not be translated, in which case it shows Criteria not translated.

What is translated:

  • The character's opening line.
  • The input placeholder (Input Prompt).
  • The start screen's heading, body text, button label and identifier prompt, when the start screen is turned on. See The start screen learners see first.
  • The criteria text learners can see, when the simulation shows learners its criteria before, during or after the conversation: each criterion's description, the rating labels, and the descriptions of deductions. Guidance written only for the AI judge is never sent for translation. See Criteria breakdown and attempt limits.
  • The workspace's learner identity field labels and options, the first time you add that language, when learner identity is on and the labels have no current translation in that language. This is charged separately. See Collecting learner identity.

Variable commands in the opening line are kept exactly as written. If a translation comes back with one changed, the translation fails instead of being saved.

What is not translated: the character description, the scenario, the character's instructions, behavior triggers, end conditions and the simulation's name. Learners never read those. The character's name is not translated either, and learners see it as you wrote it. The character works from them in the primary language and is instructed to speak the learner's language.

You can add every supported language other than the primary. One person can make 20 translation requests an hour on one simulation. Past that, the editor shows "Too many translation requests. Try again in a while."

What translating costs

The editor says "Translating uses a few credits." and does not show an amount. The charge is for the AI usage of that translation, so it grows with the length of the text and the number of criteria.

  • Adding a language, Retranslate and Translate criteria each use credits.
  • Editing a translation by hand, removing a language, and making an added language the primary do not use credits.
  • If the workspace balance is lower than the estimated cost, nothing is translated and the editor shows "Not enough credits to translate."
  • If a translation fails, the editor shows "Translation failed. Please try again." A failed translation can still use credits: a criteria translation call that completed is charged even when the rest of the request fails.

Review and edit a translation

Once a simulation has an added language, a language switcher appears above the opening line field in the Simulation section, and above the start screen's text fields.

  1. Select a language in the switcher. The field shows that language's text.
  2. Edit the text.
  3. Select Save Changes. The edit is saved with the rest of the section.

After you edit a language by hand, its Auto-translated status goes away. The translated input placeholder and the translated criteria have no editing field in the editor. To change them, change the primary-language text and translate again.

Keep translations current

A language's row shows when it is behind the primary-language text:

  • Source changed appears when the opening line, the input placeholder or the start screen text has changed since the language was translated, or when the start screen has been turned on or off since. Learners in that language keep getting the earlier translation until you act. Select Retranslate to translate the language again. The same notice and action appear next to the language switcher when you select that language.
  • Criteria not translated appears, when Source changed is not showing, if learners can see criteria and some criteria text has no translation made from its current wording. This happens after you edit a criterion, after you turn on a criteria display for a simulation that already has languages, or when the criteria could not be translated while the language was added. Select Translate criteria on the row to translate only the criteria. Until you do, learners in that language see the affected criteria in the primary language.

Retranslate replaces the whole translation for that language, including any text you edited by hand, and sets the status back to Auto-translated. Editing a translation by hand does not clear Source changed. Retranslate does.

Make an added language the primary

  1. Under Language, choose a language that is already in Additional languages.
  2. Select Save Changes. A confirmation asks whether to make that language the primary and says the current primary becomes an additional language.
  3. Confirm.

The two languages trade places. The added language's translation becomes the simulation's own opening line, input placeholder and start screen text, and the text you had written becomes the translation for the previous primary language. No AI translation runs. Criteria text does not trade places. The criteria stay as you wrote them, and the criteria translation that the promoted language had is removed with it. Other added languages that were current stay current.

Remove a language

  1. On the language's row, select Remove.
  2. The row asks you to confirm and says that links using that language's parameter will fall back to the primary language. Select Remove to confirm, or Keep to cancel.

If removing fails, the editor shows "Could not remove that language. Please try again."

Send learners to a language

Select the link parameter on a language's row, for example ?lang=es, to copy the simulation's direct link with that language on it. For an embed, add lang= and the language code to the embed URL you already use. Embedding a simulation in Articulate Storyline shows the full URL.

  • There is no language menu on the learner's page, and the learner's browser language is not used. The link alone decides.
  • A link with no language, with a code devlin.ai does not support, or with a language you have not added to this simulation opens in the primary language. The learner sees no error.
  • The language is fixed when the learner's attempt starts and stays the same for the rest of that attempt.
  • An LMS package runs in one language, which you choose when you download it. See LMS packages: SCORM and xAPI reporting.
  • A stakeholder review link opens the simulation in its primary language.
  • Voice sessions follow the same link parameter. See Setting up voice for a simulation or coach.

Result

A learner who opens the simulation with an added language on the link gets:

  • Your translated start screen, opening line and input placeholder. Where a translated field is empty, the learner sees the primary-language text for that field.
  • The text built into the page in that language, laid out right to left for Arabic.
  • A character that is instructed to respond entirely in that language, whatever language the learner writes in.
  • Feedback that the AI judge is instructed to write in that language.
  • Translated criteria text, wherever a translation exists for the current wording. Anything else appears in the primary language, never blank.

Each attempt records the language it ran in. The attempts list for the simulation shows it, and the attempts export has a language column holding the language code. Older attempts, from before attempts recorded a language, have none recorded, which means the simulation's primary language. See Results for one simulation or coach and Exporting results, transcripts and evaluations.

Duplicating a simulation copies its added languages and their translations to the copy.

An AI tool connected through the MCP server can add languages, remove them, change the primary language and translate criteria for a simulation, up to 5 translations in one call. It can preview the change and its credit estimate first. For a published or archived simulation it must confirm explicitly, or, in a workspace that requires in-app approval for live changes, the change is filed as a request for an owner or admin.