Skip to content

Languages

The 3C Platform supports multi-language administration. Participants can switch languages at any point during a session, and their preference is remembered across visits. No code changes are required to add a new language — only configuration and content files.


Supported languages

Code Language
EN English
FR French
JP Japanese
KR Korean

How language selection works

A dropdown menu in the top-right corner of every task page allows the participant or administrator to select their preferred language. The dropdown is shown when the language control is included in the HeaderButtonsToShow field of the battery configuration. See Header Buttons.

When a language is selected:

  1. The platform stores the selected language code in JATOS batch data.
  2. Batch data persists across sessions, so a returning participant finds their language pre-selected the next time they open the study.
  3. The Central Executive reads this stored preference at the start of each session and uses it to load the correct instruction and stimulus files.

Where language files live

All participant-facing text is stored in language-specific folders under InstructionsAndStimuli/:

InstructionsAndStimuli/
  EN/
    WordRecognition.js
    DigitSpan.js
    Stroop.js
    ...
  FR/
    WordRecognition.js
    DigitSpan.js
    Stroop.js
    ...
  JP/
    ...
  KR/
    ...

Each file contains the instruction text, welcome text, thank-you text, and any text-based stimuli for one task in one language.


Adding a new language

To add a new language to the platform, follow these steps. No changes to task JavaScript code are needed.

1. Translate instruction files

Create a new folder under InstructionsAndStimuli/ using the language code (e.g., ES for Spanish):

InstructionsAndStimuli/ES/

Copy every .js file from InstructionsAndStimuli/EN/ into the new folder and translate all text strings. Keep the variable names and object structure identical — only the string values should change.

2. Translate button labels

The header buttons and UI labels (Restart, Quit, Stop, etc.) are defined in a shared language configuration file. Add a new entry for your language code with all button labels translated.

3. Create audio files for spoken stimuli

Tasks that present spoken stimuli require audio files. Generate these using Google Text-to-Speech (or another TTS service) for all words and sentences that are presented as audio. Place the files in the appropriate audio folder using the same naming convention as the existing language audio files.

Google TTS

The platform was designed around Google Cloud Text-to-Speech. Use the same voice and speaking rate across all stimuli within a task to ensure consistency. Many researchers use the Google Cloud TTS API to batch-generate audio files from stimulus lists.

4. Verify

Run a task in the new language using the dropdown selector and check that all instruction text, button labels, and stimuli render correctly.


Language and spoken stimuli

For tasks with audio stimuli (e.g., Digit Span with spoken digits, Word Recall with audio word lists), the platform loads audio files from a language-specific audio folder. Each language has its own set of audio files generated by TTS. This means that adding a spoken-stimulus task in a new language requires generating the full set of audio files, not just translating text.

See Response Types for details on spoken responses and speech recognition, which have additional language considerations.