Multilingual audio in select_one choices not switching (ODK Aggregate)

Hi everyone,

I’m currently working on a multilingual XLSForm (Portuguese, Yanomami, Yanomae, Ye'kwana and Sanöma) for use in ODK Collect as part of a project with Indigenous communities in Brazil.

In this context, audio is essential because many users have limited literacy in Portuguese and varying familiarity with written forms of their own languages. For accessibility reasons, it’s important that users can rely on listening rather than reading.

Users can change the form language directly from the three-dot menu while filling the form.

Text translations using label::language work correctly — the labels update when the form language changes.

However, I’m trying to implement multilingual audio for select_one choices, and I’m running into issues.

What I’m trying to achieve

When the user changes the form language, I would like the audio associated with each choice to change accordingly (similar to how labels behave).

What I tested

In the choices sheet, I added columns like:

audio::Portuguese  
audio::Yanomae  
audio::Sanoma  

The language names match exactly the ones used in label::language.

Current behavior

  • The text updates correctly when the form language changes.

  • The audio does not switch.

  • In some cases, the form crashes when multiple audio::language columns are used in the choices sheet.

Environment

  • Server: ODK Aggregate

  • ODK Collect (Android)

  • XLSForm converted using the standard online converter

Is multilingual audio for select_one/select_multiple choices fully supported in ODK Aggregate?

If so, is there a minimal working example that demonstrates the correct structure?

Thanks in advance for any guidance.

Here's a minimal example: multi-language.audio.zip (133.0 KB) We no longer have an Aggregate server we can test with but I've verified that it works with the latest versions of Central and Collect.

Can you please share the message you get if you experience the crash again?

1 Like