Objective
Create questions in multiple languages using the Editor and allow the Player to choose the preferred language from the options available, while playing a question/question set
Fields that needs multilingual support
body
answer
instructions
feedback
hints
User Flow
Scenario 1 : Create and consume questions & question set in any language
Editor
User should be able to choose the required language(s) from a dropdown and create a question in that language
A default list of languages will be available in the drop down. Additional languages to be displayed in the dropdown list can be configured.
The language will be pre-selected as English by default.
The user will be able to choose any language from the dropdown menu. The user should be able to type a language that is not in the drop down (free text input)
User will be able to select maximum five languages
Upon selecting a language, the corresponding language code will be stored.
The language selection can be done is any of following pattern :
Option 1 :
There will be a drop-down across each of the fields, for which multiple languages are supported.
The language selected for the first field, will be retained as the default for the rest of the fields, unless selected otherwise.
Eg. While creating a question set, if the creator first chooses the language for the ‘instructions’ field as `Hindi`, the rest of the fields - ‘body’, ‘options’ etc, should automatically have ‘Hindi’ as default language.
Option 2 :
There will be only one drop down where the language is selected, and will be applied for all fields within a question/question set.
Option 3:
Dropdown for language selection will be present at 3 places :
At Question Set Root node, where it will cover the following
Instructions (at the root node level)
At each Section, where it will cover the following fields :
Instruction (at the each section level)
At each Question, where it will cover the following fields:
Question body
Options
Solution
Feedback
Hint
The user selects all the languages in which he/she wants to create the question/question set and the form will display text box based on the selection
Corresponding text boxes for entering the text are displayed for all the selected languages
A button/checkbox can be displayed which can show the translated text on-demand.
Upon selecting the option, the input text are will show the translation of the original text (primary language) to the selected language.
Creator is able to type or copy paste in any language (question body/instruction/options..)
Incase the user selects a non-english language, the Google Input Tool prompt pops-up in the selected language.
Validate if the entered language is same as the selected language.
If the entered language is different from the selected language, an error message will be displayed. This is not going to be a validation, it will just be an alert.
Proposed Reference Design for the Editor (as per Option 2) :
Player
A dropdown will be present at the beginning of the Question or Question set, that is selected for playing.
The user will be able to choose any language based on the available languages in the dropdown.
The language in the dropdown will be populated based on the languages in which the question / question set is available.
The drop down can have multi-select options ie the user will be able to select multiple languages
Player will be able to select maximum of two languages.
The question / question set will be rendered in the selected language/languages
The question level language selection will override the question set level language selection ie, the user will be able to view the question is any language that is available in the dropdown
At each question level
A dropdown option will be present at the beginning.
The dropdown will display only the languages in which the question body is present.
Upon selecting a language from the dropdown, the question will be displayed in the selected language.
By default the language will be English
Incase of MCQ, if the options are not present in the selected language, display the options from the default language.
Proposed Reference Design for the Player: