A recommendation is to design the data model correctly from the start. Instead of treating questions as a single text field, model them as a main Question entity with a related Translations table. Rather than entering translations manually in the admin panel, you can use an AI button to translate the question into all 40 languages at once and automatically populate this table.
When a user opens the survey, they should first select a language. This choice should be stored only in the current session. When the page loads, the system simply retrieves and displays the translation that matches the selected language. This way, users read the survey in different languages, but behind the scenes everyone is answering the same Question IDs.
To preserve anonymity, never store the selected language in the database. When responses are saved, they should only be stored as Question X -> Answer Y. By intentionally discarding the language information, it becomes impossible to identify a participant based on being the only speaker of a certain language.
With this setup, the system stays both flexible and secure. Adding a new language later requires no code changes. just generate the translations with the AI button. You get a professional multilingual experience without compromising privacy.
hi,
For multilingual dynamic questionnaires where anonymity must be preserved, the recommended pattern in Mendix is to let the user choose the language at runtime and not persist that choice with the response data.
If you need translations stored centrally for dynamic questionnaires, use a translation entity/view model to pull the correct language values instead of hard-coding text.
This pattern keeps the questionnaire fully anonymous while supporting multiple languages.
Hee Ilhem,
It fully depends on how anonymous you would like the questionnaires to be, a simple solution is to always, send a type of questionnaire in one language (always english),
if you do not want that you need to put a translation into your application, but even then you can probably see which person is not a native speaker,
so then you maybe need to add a translation with AI that parse all the responses in a similar manner.
But yeah every extra step to anonymize the data is putting extra complexity to your application.
Hope this helps to put the work in the right perspective.
Good luck!