Amsterdam-Music-Lab / MUSCLE

An application to easily set up and run online listening experiments for music research.
https://www.amsterdammusiclab.nl/
MIT License
4 stars 1 forks source link

Give the admin user the option to "force" an experiment to show in a selection of one or more languages #1177

Open drikusroor opened 4 months ago

drikusroor commented 4 months ago

Is your feature request related to a problem? Please describe.

Right now, toontje hoger (kids) is shown with Dutch content. Most experiment-agnostic content, however, is shown in the language of the OS/Browser. This causes the experiment to show in two languages at the same time, which might be confusing.

Describe the solution you'd like

In a scenario in which we can configure all experiment content in one or more languages (so after #93), we might want to consider giving the admin user to restrict the languages for an experiment (or do this automatically based on the supplied content). The backend should then also restrict the experiment-agnostic content to this/these language(s), while also allowing to set the primary fallback language.

Some examples:

  1. Toontje Hoger Kids is meant for Dutch children and contains videos with Dutch spoken language. It therefore makes sense to show the experiment and the experiment-agnostic content in Dutch only, regardless of the OS/Browser preference.

  2. Or suppose an experiment is supplied with content in Dutch and English, but the browser setting is set to German. We should then (probably) make sure all experiment and experiment-agnostic content falls back to English content.

Additional context See also this convo

BeritJanssen commented 4 months ago

Cf. the "language" setting of experiment / block. This already enables admin users to enforce the language to that selected by the admin user.

drikusroor commented 3 months ago

We should probably align this with #1204 - i.e. the preferred or fallback language should also be used for the non-experiment-related (generic site/component contents) and non-configurable (translation keys used in the Rules) content.