Place JSON files here following naming pattern (new):
<quizTypeRaw>_<level>_<questionFormat>_<lang>.json (monolingual)
<quizTypeRaw>_<level>_<questionFormat>_<lang1>-<lang2>.json (bilingual)
Where:
quizTypeRaw: general, popCulture, moviesTV, sports, history, science, customlevel: icebreaker, easy, medium, advanced, expert or allquestionFormat: multiple_choice |
open_ended |
lang / lang1-lang2: en |
ru (for bilingual pack order = primary-secondary) |
Legacy pattern (still supported as fallback during transition):
<quizTypeRaw>_<questionFormat>_<languageCode>.json
[
{
"question": "What is the capital of France?",
"options": ["Paris", "Berlin", "Madrid", "Rome"],
"correct_answer": "Paris",
"explanation": "Paris has been France's capital since the early Middle Ages.",
"level": "easy"
}
]
{
"question": "Describe the water cycle stages.",
"correct_answer": "",
"explanation": "Evaporation, condensation, precipitation, collection.",
"level": "medium"
}
For bilingual packs, encode primary + secondary text separated by a newline (\n) in each textual field (question, each options element, correct_answer, explanation). Example bilingual multiple choice entry (English primary, Russian secondary):
{
"question": "What is the capital of France?\nКакова столица Франции?",
"options": [
"Paris\nПариж",
"Berlin\nБерлин",
"Madrid\nМадрид",
"Rome\nРим"
],
"correct_answer": "Paris\nПариж",
"explanation": "Paris is France's capital.\nПариж — столица Франции.",
"level": "easy"
}
correct_answer required; for open-ended may be empty string.level optional but recommended for filtering.