From 482ca8be7e1c04e5980a97bc15e5550b369c3547 Mon Sep 17 00:00:00 2001 From: Marijn Doeve Date: Sat, 4 Jul 2026 23:10:12 +0200 Subject: [PATCH] feat: add contextual help panels to all backoffice pages Add a 50/50 or 66/33 split layout to every backoffice page with Dutch instructions explaining how to use Tijd voor de Test. Content covers the overall workflow, quiz finalize/activate flow, and both candidate participation methods (own device vs. shared laptop). Help text lives in dedicated partials under templates/backoffice/help/ and is loaded via Twig include(), keeping page templates clean. All strings use a separate 'instructions' translation domain (instructions+intl-icu.nl.xliff) isolated from the main messages domain. Also updates 'Finalize'-related Dutch translations to use 'Afronden' and adds tooltips to the finalize/unfinalize buttons. --- templates/backoffice/help/index.html.twig | 10 + .../help/prepare_elimination.html.twig | 3 + templates/backoffice/help/quiz_add.html.twig | 8 + .../backoffice/help/quiz_add_blank.html.twig | 3 + .../help/quiz_answer_mapping.html.twig | 3 + .../backoffice/help/quiz_candidates.html.twig | 6 + .../backoffice/help/quiz_overview.html.twig | 5 + .../help/quiz_question_bank_form.html.twig | 4 + .../backoffice/help/quiz_result.html.twig | 5 + .../backoffice/help/season_add.html.twig | 3 + .../help/season_add_candidates.html.twig | 3 + .../help/season_candidates.html.twig | 3 + .../help/season_question_bank.html.twig | 3 + .../backoffice/help/season_settings.html.twig | 3 + .../backoffice/help/season_tests.html.twig | 11 + templates/backoffice/index.html.twig | 103 +++--- .../prepare_elimination/index.html.twig | 2 +- .../backoffice/question_bank/form.html.twig | 3 + .../backoffice/quiz/tab_candidates.html.twig | 7 + .../quiz/tab_candidates_list.html.twig | 7 + .../backoffice/quiz/tab_overview.html.twig | 15 +- .../backoffice/quiz/tab_result.html.twig | 7 + templates/backoffice/quiz_add.html.twig | 4 +- templates/backoffice/quiz_add_blank.html.twig | 2 +- .../season/tab_candidates.html.twig | 3 + .../season/tab_question_bank.html.twig | 11 +- .../backoffice/season/tab_settings.html.twig | 3 + .../backoffice/season/tab_tests.html.twig | 3 + templates/backoffice/season_add.html.twig | 4 +- .../season_add_candidates.html.twig | 4 +- translations/instructions+intl-icu.nl.xliff | 309 ++++++++++++++++++ translations/messages+intl-icu.nl.xliff | 28 +- 32 files changed, 514 insertions(+), 74 deletions(-) create mode 100644 templates/backoffice/help/index.html.twig create mode 100644 templates/backoffice/help/prepare_elimination.html.twig create mode 100644 templates/backoffice/help/quiz_add.html.twig create mode 100644 templates/backoffice/help/quiz_add_blank.html.twig create mode 100644 templates/backoffice/help/quiz_answer_mapping.html.twig create mode 100644 templates/backoffice/help/quiz_candidates.html.twig create mode 100644 templates/backoffice/help/quiz_overview.html.twig create mode 100644 templates/backoffice/help/quiz_question_bank_form.html.twig create mode 100644 templates/backoffice/help/quiz_result.html.twig create mode 100644 templates/backoffice/help/season_add.html.twig create mode 100644 templates/backoffice/help/season_add_candidates.html.twig create mode 100644 templates/backoffice/help/season_candidates.html.twig create mode 100644 templates/backoffice/help/season_question_bank.html.twig create mode 100644 templates/backoffice/help/season_settings.html.twig create mode 100644 templates/backoffice/help/season_tests.html.twig create mode 100644 translations/instructions+intl-icu.nl.xliff diff --git a/templates/backoffice/help/index.html.twig b/templates/backoffice/help/index.html.twig new file mode 100644 index 0000000..3ea8626 --- /dev/null +++ b/templates/backoffice/help/index.html.twig @@ -0,0 +1,10 @@ +
{{ 'Getting started'|trans({}, 'instructions') }}
+

{{ 'Each season groups one play round with all its quizzes and candidates. The season code is the link candidates use to start a quiz — this link only works when there is an active quiz.'|trans({}, 'instructions') }}

+
{{ 'How it works'|trans({}, 'instructions') }}
+
    +
  1. {{ 'Create a season and add candidates'|trans({}, 'instructions') }}
  2. +
  3. {{ 'Add a quiz via XLSX or the question bank'|trans({}, 'instructions') }}
  4. +
  5. {{ 'Finalize and activate the quiz'|trans({}, 'instructions') }}
  6. +
  7. {{ 'Let candidates take the quiz (own device or shared laptop)'|trans({}, 'instructions') }}
  8. +
  9. {{ 'View results and start the elimination'|trans({}, 'instructions') }}
  10. +
diff --git a/templates/backoffice/help/prepare_elimination.html.twig b/templates/backoffice/help/prepare_elimination.html.twig new file mode 100644 index 0000000..4ba28af --- /dev/null +++ b/templates/backoffice/help/prepare_elimination.html.twig @@ -0,0 +1,3 @@ +
{{ 'Prepare elimination'|trans({}, 'instructions') }}
+

{{ 'Choose a colour for each candidate: green means safe, red means eliminated.'|trans({}, 'instructions') }}

+

{{ 'Use Save and start to play the elimination immediately, or save first and start later via the Results tab.'|trans({}, 'instructions') }}

diff --git a/templates/backoffice/help/quiz_add.html.twig b/templates/backoffice/help/quiz_add.html.twig new file mode 100644 index 0000000..26cd5c5 --- /dev/null +++ b/templates/backoffice/help/quiz_add.html.twig @@ -0,0 +1,8 @@ +
{{ 'Upload quiz via XLSX'|trans({}, 'instructions') }}
+

{{ 'Upload an XLSX file with the questions for this quiz. After uploading you can review, check and finalize the quiz.'|trans({}, 'instructions') }}

+
{{ 'Expected format'|trans({}, 'instructions') }}
+ diff --git a/templates/backoffice/help/quiz_add_blank.html.twig b/templates/backoffice/help/quiz_add_blank.html.twig new file mode 100644 index 0000000..c05eda8 --- /dev/null +++ b/templates/backoffice/help/quiz_add_blank.html.twig @@ -0,0 +1,3 @@ +
{{ 'Create blank quiz'|trans({}, 'instructions') }}
+

{{ 'Create an empty quiz and add questions from the question bank. Useful if you reuse questions or have prepared them in the bank in advance.'|trans({}, 'instructions') }}

+

{{ 'After creating, open the quiz, add questions via the Overview tab and finalize the quiz before activating it.'|trans({}, 'instructions') }}

diff --git a/templates/backoffice/help/quiz_answer_mapping.html.twig b/templates/backoffice/help/quiz_answer_mapping.html.twig new file mode 100644 index 0000000..1e3631f --- /dev/null +++ b/templates/backoffice/help/quiz_answer_mapping.html.twig @@ -0,0 +1,3 @@ +
{{ 'Fill in answers'|trans({}, 'instructions') }}
+

{{ 'Use this overview to manually assign answers — for example in case of technical problems or if someone took the quiz on paper.'|trans({}, 'instructions') }}

+

{{ 'Navigate between questions using the Previous and Next buttons. Tick the given answer per candidate and save.'|trans({}, 'instructions') }}

diff --git a/templates/backoffice/help/quiz_candidates.html.twig b/templates/backoffice/help/quiz_candidates.html.twig new file mode 100644 index 0000000..8148957 --- /dev/null +++ b/templates/backoffice/help/quiz_candidates.html.twig @@ -0,0 +1,6 @@ +
{{ 'Let candidates take the quiz'|trans({}, 'instructions') }}
+

{{ 'Candidates can take the quiz in two ways:'|trans({}, 'instructions') }}

+

{{ 'Option 1 — own device: Share the season code. Each candidate visits the site on their phone, enters their own name and starts the quiz.'|trans({}, 'instructions') }}

+

{{ 'Option 2 — shared laptop: Open the name entry page in advance on a laptop. Each candidate types their name and starts. After finishing, the next candidate can do the same.'|trans({}, 'instructions') }}

+
{{ 'Status'|trans({}, 'instructions') }}
+

{{ 'Deactivate a candidate if they should not take this quiz, for example after being eliminated earlier. Deactivation is per quiz and does not affect other quizzes.'|trans({}, 'instructions') }}

diff --git a/templates/backoffice/help/quiz_overview.html.twig b/templates/backoffice/help/quiz_overview.html.twig new file mode 100644 index 0000000..99ade7c --- /dev/null +++ b/templates/backoffice/help/quiz_overview.html.twig @@ -0,0 +1,5 @@ +
{{ 'Overview & finalize'|trans({}, 'instructions') }}
+

{{ 'Questions with a red marker in the list have an error. Fix these before finalizing.'|trans({}, 'instructions') }}

+

{{ 'Finalize'|trans }} — {{ 'Finalize locks the quiz for editing and makes it ready for candidates. You can then activate it.'|trans({}, 'instructions') }}

+

{{ 'Make active'|trans }} — {{ 'Activate makes the quiz available to candidates. Only one quiz can be active at a time — only activate the next quiz when everyone has completed the current one.'|trans({}, 'instructions') }}

+

{{ 'Clear Quiz...'|trans }} — {{ 'Clear quiz removes all given answers and undoes finalization, so you can edit and run the quiz again.'|trans({}, 'instructions') }}

diff --git a/templates/backoffice/help/quiz_question_bank_form.html.twig b/templates/backoffice/help/quiz_question_bank_form.html.twig new file mode 100644 index 0000000..7458414 --- /dev/null +++ b/templates/backoffice/help/quiz_question_bank_form.html.twig @@ -0,0 +1,4 @@ +
{{ 'Add question'|trans({}, 'instructions') }}
+

{{ 'Enter the question and add at least two answer options. Mark exactly one answer as correct.'|trans({}, 'instructions') }}

+

{{ 'Use labels to organise questions in the question bank, for example by episode or theme.'|trans({}, 'instructions') }}

+

{{ 'Mark a question as reusable if it may appear in multiple quizzes — otherwise a question can only be linked to one quiz.'|trans({}, 'instructions') }}

diff --git a/templates/backoffice/help/quiz_result.html.twig b/templates/backoffice/help/quiz_result.html.twig new file mode 100644 index 0000000..4432d00 --- /dev/null +++ b/templates/backoffice/help/quiz_result.html.twig @@ -0,0 +1,5 @@ +
{{ 'Results'|trans({}, 'instructions') }}
+

{{ 'The table shows the final result per candidate sorted by score. Red rows are the candidates with the lowest score who are at risk of elimination.'|trans({}, 'instructions') }}

+

{{ 'Corrections'|trans }} — {{ 'Corrections are added for bonus points or joker deductions (half points are possible).'|trans({}, 'instructions') }}

+

{{ 'Penalty'|trans }} — {{ 'Penalty is a time penalty in seconds and is taken into account when scores are tied.'|trans({}, 'instructions') }}

+

{{ 'Via Prepare elimination you set the screen colours manually and start the elimination sequence.'|trans({}, 'instructions') }}

diff --git a/templates/backoffice/help/season_add.html.twig b/templates/backoffice/help/season_add.html.twig new file mode 100644 index 0000000..4b3ebb7 --- /dev/null +++ b/templates/backoffice/help/season_add.html.twig @@ -0,0 +1,3 @@ +
{{ 'New season'|trans({}, 'instructions') }}
+

{{ 'A season groups all quizzes and candidates for one play round. Give the season a recognisable name — the season code is generated automatically.'|trans({}, 'instructions') }}

+

{{ 'After creating, add candidates and quizzes from the season page.'|trans({}, 'instructions') }}

diff --git a/templates/backoffice/help/season_add_candidates.html.twig b/templates/backoffice/help/season_add_candidates.html.twig new file mode 100644 index 0000000..591be40 --- /dev/null +++ b/templates/backoffice/help/season_add_candidates.html.twig @@ -0,0 +1,3 @@ +
{{ 'Add candidates'|trans({}, 'instructions') }}
+

{{ 'Enter one name per line. These are the players participating in this season.'|trans({}, 'instructions') }}

+

{{ 'You can always add more candidates later via the Candidates tab. Use the same spelling of names you use in the game.'|trans({}, 'instructions') }}

diff --git a/templates/backoffice/help/season_candidates.html.twig b/templates/backoffice/help/season_candidates.html.twig new file mode 100644 index 0000000..9041f65 --- /dev/null +++ b/templates/backoffice/help/season_candidates.html.twig @@ -0,0 +1,3 @@ +
{{ 'Candidates'|trans({}, 'instructions') }}
+

{{ 'These are the players of this season. Add all participants before starting the first quiz — candidates are automatically linked to new quizzes.'|trans({}, 'instructions') }}

+

{{ 'Names are entered freely; use the same spelling you use in the game.'|trans({}, 'instructions') }}

diff --git a/templates/backoffice/help/season_question_bank.html.twig b/templates/backoffice/help/season_question_bank.html.twig new file mode 100644 index 0000000..99a29b4 --- /dev/null +++ b/templates/backoffice/help/season_question_bank.html.twig @@ -0,0 +1,3 @@ +
{{ 'Question bank'|trans({}, 'instructions') }}
+

{{ "The question bank is a library of questions that can be linked to multiple quizzes. Mark a question as reusable if it may appear in multiple quizzes (e.g. 'Who is de Mol?')."|trans({}, 'instructions') }}

+

{{ 'After editing a bank question, quizzes that already contain it are not updated automatically — use the sync button next to a quiz to push the latest version.'|trans({}, 'instructions') }}

diff --git a/templates/backoffice/help/season_settings.html.twig b/templates/backoffice/help/season_settings.html.twig new file mode 100644 index 0000000..56dbaa0 --- /dev/null +++ b/templates/backoffice/help/season_settings.html.twig @@ -0,0 +1,3 @@ +
{{ 'Season settings'|trans({}, 'instructions') }}
+

{{ 'Adjust the name and other settings for this season here.'|trans({}, 'instructions') }}

+

{{ 'The season code is fixed after creation and determines the URL candidates use to log in.'|trans({}, 'instructions') }}

diff --git a/templates/backoffice/help/season_tests.html.twig b/templates/backoffice/help/season_tests.html.twig new file mode 100644 index 0000000..8f0404d --- /dev/null +++ b/templates/backoffice/help/season_tests.html.twig @@ -0,0 +1,11 @@ +
{{ 'Managing quizzes'|trans({}, 'instructions') }}
+

{{ 'Add a quiz from an XLSX file or create a blank one and fill it via the question bank. Then open the quiz to review and finalize it.'|trans({}, 'instructions') }}

+

{{ 'A quiz must be finalized before it can be activated. Only one quiz can be active at a time — this is the quiz candidates can currently take.'|trans({}, 'instructions') }}

+
{{ 'Order of operations'|trans({}, 'instructions') }}
+
    +
  1. {{ 'Create the quiz (XLSX or blank)'|trans({}, 'instructions') }}
  2. +
  3. {{ 'Review questions and finalize the quiz'|trans({}, 'instructions') }}
  4. +
  5. {{ 'Activate the quiz'|trans({}, 'instructions') }}
  6. +
  7. {{ 'Let candidates take the quiz'|trans({}, 'instructions') }}
  8. +
  9. {{ 'View results and prepare the elimination'|trans({}, 'instructions') }}
  10. +
diff --git a/templates/backoffice/index.html.twig b/templates/backoffice/index.html.twig index 4fd6c99..5926749 100644 --- a/templates/backoffice/index.html.twig +++ b/templates/backoffice/index.html.twig @@ -11,53 +11,60 @@ {% endblock %} {% block body %} -
-

- {{ is_granted('ROLE_ADMIN') ? 'All Seasons'|trans : 'Your Seasons'|trans }} -

- - {{ 'Add'|trans }} - -
- {% if seasons %} - - - - {% if is_granted('ROLE_ADMIN') %} - - {% endif %} - - - - - - - - {% for season in seasons %} - - {% if is_granted('ROLE_ADMIN') %} - - {% endif %} - - + + + + + + + {% for season in seasons %} + + {% if is_granted('ROLE_ADMIN') %} + + {% endif %} + + + + + + {% endfor %} + +
{{ 'Owner(s)'|trans }}{{ 'Name'|trans }}{{ 'Active Quiz'|trans }}{{ 'Season Code'|trans }}{{ 'Manage'|trans }}
{{ season.owners|map(o => o.email)|join(', ') }}{{ season.name }} - {% if season.activeQuiz %} - {{ season.activeQuiz.name }} - {% else %} - {{ 'No active quiz'|trans }} +
+
+
+

+ {{ is_granted('ROLE_ADMIN') ? 'All Seasons'|trans : 'Your Seasons'|trans }} +

+ + {{ 'Add'|trans }} + +
+ {% if seasons %} + + + + {% if is_granted('ROLE_ADMIN') %} + {% endif %} - - - - - {% endfor %} - -
{{ 'Owner(s)'|trans }} - {{ season.seasonCode }} - - {{ 'Manage'|trans }} -
- {% else %} - {{ 'You have no seasons yet.'|trans }} - {% endif %} +
{{ 'Name'|trans }}{{ 'Active Quiz'|trans }}{{ 'Season Code'|trans }}{{ 'Manage'|trans }}
{{ season.owners|map(o => o.email)|join(', ') }}{{ season.name }} + {% if season.activeQuiz %} + {{ season.activeQuiz.name }} + {% else %} + {{ 'No active quiz'|trans }} + {% endif %} + + {{ season.seasonCode }} + + {{ 'Manage'|trans }} +
+ {% else %} + {{ 'You have no seasons yet.'|trans }} + {% endif %} + +
+ {{ include('backoffice/help/index.html.twig') }} +
+ {% endblock %} diff --git a/templates/backoffice/prepare_elimination/index.html.twig b/templates/backoffice/prepare_elimination/index.html.twig index bf16ede..61232a1 100644 --- a/templates/backoffice/prepare_elimination/index.html.twig +++ b/templates/backoffice/prepare_elimination/index.html.twig @@ -40,7 +40,7 @@
-

{{ 'Help text for preparing elimination'|trans }}

+ {{ include('backoffice/help/prepare_elimination.html.twig') }}
{% endblock %} diff --git a/templates/backoffice/question_bank/form.html.twig b/templates/backoffice/question_bank/form.html.twig index 184d5fd..5563ac9 100644 --- a/templates/backoffice/question_bank/form.html.twig +++ b/templates/backoffice/question_bank/form.html.twig @@ -51,5 +51,8 @@ {{ form_end(form) }} +
+ {{ include('backoffice/help/quiz_question_bank_form.html.twig') }} +
{% endblock body %} diff --git a/templates/backoffice/quiz/tab_candidates.html.twig b/templates/backoffice/quiz/tab_candidates.html.twig index 20c6cc9..9db3c91 100644 --- a/templates/backoffice/quiz/tab_candidates.html.twig +++ b/templates/backoffice/quiz/tab_candidates.html.twig @@ -1,3 +1,5 @@ +
+
{% set questions = quiz.questions %} @@ -64,3 +66,8 @@ +
+
+ {{ include('backoffice/help/quiz_answer_mapping.html.twig') }} +
+
diff --git a/templates/backoffice/quiz/tab_candidates_list.html.twig b/templates/backoffice/quiz/tab_candidates_list.html.twig index 19883ce..3db6809 100644 --- a/templates/backoffice/quiz/tab_candidates_list.html.twig +++ b/templates/backoffice/quiz/tab_candidates_list.html.twig @@ -1,3 +1,5 @@ +
+

{{ 'Candidates'|trans }}

@@ -50,3 +52,8 @@ {% endfor %}
+
+
+ {{ include('backoffice/help/quiz_candidates.html.twig') }} +
+
diff --git a/templates/backoffice/quiz/tab_overview.html.twig b/templates/backoffice/quiz/tab_overview.html.twig index 551a20b..3921bdb 100644 --- a/templates/backoffice/quiz/tab_overview.html.twig +++ b/templates/backoffice/quiz/tab_overview.html.twig @@ -22,7 +22,8 @@
{% endmacro %} -
+
+

{{ 'Quick actions'|trans }} {% if quiz.isFinalized %} @@ -56,14 +57,18 @@ {% if not quiz.isFinalized %}
-
{% elseif not quiz.hasStartedCandidates and quiz is not same as (season.activeQuiz) %}
-
@@ -138,3 +143,7 @@ csrf_token('delete_quiz'), ) }}

+
+ {{ include('backoffice/help/quiz_overview.html.twig') }} +
+
diff --git a/templates/backoffice/quiz/tab_result.html.twig b/templates/backoffice/quiz/tab_result.html.twig index cef5e6e..30578ad 100644 --- a/templates/backoffice/quiz/tab_result.html.twig +++ b/templates/backoffice/quiz/tab_result.html.twig @@ -1,3 +1,5 @@ +
+

{{ 'Score'|trans }}

diff --git a/templates/backoffice/quiz_add.html.twig b/templates/backoffice/quiz_add.html.twig index e9553e0..a2d6de7 100644 --- a/templates/backoffice/quiz_add.html.twig +++ b/templates/backoffice/quiz_add.html.twig @@ -21,9 +21,7 @@ {{ form_end(form) }}
-

- {{ 'Help text for adding a quiz'|trans }} -

+ {{ include('backoffice/help/quiz_add.html.twig') }}
{% endblock %} diff --git a/templates/backoffice/quiz_add_blank.html.twig b/templates/backoffice/quiz_add_blank.html.twig index 66d0e1a..76009ea 100644 --- a/templates/backoffice/quiz_add_blank.html.twig +++ b/templates/backoffice/quiz_add_blank.html.twig @@ -20,7 +20,7 @@ {{ form_end(form) }}
-

{{ 'Create an empty quiz and add questions from the question bank.'|trans }}

+ {{ include('backoffice/help/quiz_add_blank.html.twig') }}
{% endblock %} diff --git a/templates/backoffice/season/tab_candidates.html.twig b/templates/backoffice/season/tab_candidates.html.twig index ac6788c..70f9a95 100644 --- a/templates/backoffice/season/tab_candidates.html.twig +++ b/templates/backoffice/season/tab_candidates.html.twig @@ -12,4 +12,7 @@ {% endfor %} +
+ {{ include('backoffice/help/season_candidates.html.twig') }} +
diff --git a/templates/backoffice/season/tab_question_bank.html.twig b/templates/backoffice/season/tab_question_bank.html.twig index 96eac18..7d54c10 100644 --- a/templates/backoffice/season/tab_question_bank.html.twig +++ b/templates/backoffice/season/tab_question_bank.html.twig @@ -1,5 +1,12 @@ -
- {{ 'Add question'|trans }} +
+ +
+ {{ include('backoffice/help/season_question_bank.html.twig') }} +
diff --git a/templates/backoffice/season/tab_settings.html.twig b/templates/backoffice/season/tab_settings.html.twig index a55147d..160e858 100644 --- a/templates/backoffice/season/tab_settings.html.twig +++ b/templates/backoffice/season/tab_settings.html.twig @@ -2,4 +2,7 @@
{{ form(form) }}
+
+ {{ include('backoffice/help/season_settings.html.twig') }} +
diff --git a/templates/backoffice/season/tab_tests.html.twig b/templates/backoffice/season/tab_tests.html.twig index 8a4b415..23b073b 100644 --- a/templates/backoffice/season/tab_tests.html.twig +++ b/templates/backoffice/season/tab_tests.html.twig @@ -20,4 +20,7 @@ {% endfor %}
+
+ {{ include('backoffice/help/season_tests.html.twig') }} +
diff --git a/templates/backoffice/season_add.html.twig b/templates/backoffice/season_add.html.twig index a907712..17c37b3 100644 --- a/templates/backoffice/season_add.html.twig +++ b/templates/backoffice/season_add.html.twig @@ -19,9 +19,7 @@ {{ form_end(form) }}
-

- {{ 'Help text for creating a season'|trans }} -

+ {{ include('backoffice/help/season_add.html.twig') }}
{% endblock %} diff --git a/templates/backoffice/season_add_candidates.html.twig b/templates/backoffice/season_add_candidates.html.twig index 319263c..1fd1223 100644 --- a/templates/backoffice/season_add_candidates.html.twig +++ b/templates/backoffice/season_add_candidates.html.twig @@ -20,9 +20,7 @@ {{ form_end(form) }}
-

- {{ 'Help text for adding candidates'|trans }} -

+ {{ include('backoffice/help/season_add_candidates.html.twig') }}
{% endblock %} diff --git a/translations/instructions+intl-icu.nl.xliff b/translations/instructions+intl-icu.nl.xliff new file mode 100644 index 0000000..017d8ee --- /dev/null +++ b/translations/instructions+intl-icu.nl.xliff @@ -0,0 +1,309 @@ + + + +
+ +
+ + + + + Getting started + Aan de slag + + + Each season groups one play round with all its quizzes and candidates. The season code is the link candidates use to start a quiz — this link only works when there is an active quiz. + Elk seizoen groepeert één speelronde met alle bijbehorende testen en kandidaten. De seizoenscode is de link die kandidaten gebruiken om een test te starten — deze link is alleen actief als er een actieve test is. + + + How it works + Globale werkwijze + + + Create a season and add candidates + Seizoen aanmaken en kandidaten toevoegen + + + Add a quiz via XLSX or the question bank + Test aanmaken via XLSX of de vragenbank + + + Finalize and activate the quiz + Test afronden en activeren + + + Let candidates take the quiz (own device or shared laptop) + Kandidaten laten deelnemen (eigen apparaat of gedeelde laptop) + + + View results and start the elimination + Resultaten bekijken en eliminatie starten + + + + + New season + Nieuw seizoen + + + A season groups all quizzes and candidates for one play round. Give the season a recognisable name — the season code is generated automatically. + Een seizoen groepeert alle testen en kandidaten voor één speelronde. Geef het seizoen een herkenbare naam — de seizoenscode wordt automatisch gegenereerd. + + + After creating, add candidates and quizzes from the season page. + Na het aanmaken voeg je kandidaten toe en maak je testen aan via de seizoenpagina. + + + + + Add candidates + Kandidaten toevoegen + + + Enter one name per line. These are the players participating in this season. + Voer één naam per regel in. Dit zijn de spelers die deelnemen aan dit seizoen. + + + You can always add more candidates later via the Candidates tab. Use the same spelling of names you use in the game. + Je kunt later altijd nog kandidaten toevoegen via het tabblad Kandidaten. Gebruik dezelfde schrijfwijze van namen die je in het spel gebruikt. + + + + + Managing quizzes + Testen beheren + + + Add a quiz from an XLSX file or create a blank one and fill it via the question bank. Then open the quiz to review and finalize it. + Voeg een test toe vanuit een XLSX-bestand of maak een lege test aan en vul deze via de vragenbank. Open daarna de test om hem te bekijken en af te ronden. + + + A quiz must be finalized before it can be activated. Only one quiz can be active at a time — this is the quiz candidates can currently take. + Een test moet eerst afgerond zijn voordat je hem kunt activeren. Slechts één test kan tegelijk actief zijn — dit is de test die kandidaten op dat moment kunnen invullen. + + + Order of operations + Volgorde van werken + + + Create the quiz (XLSX or blank) + Test aanmaken (XLSX of leeg) + + + Review questions and finalize the quiz + Vragen controleren en test afronden + + + Activate the quiz + Test activeren + + + Let candidates take the quiz + Kandidaten laten deelnemen + + + View results and prepare the elimination + Resultaten bekijken en eliminatie voorbereiden + + + + + Candidates + Kandidaten + + + These are the players of this season. Add all participants before starting the first quiz — candidates are automatically linked to new quizzes. + Dit zijn de spelers van dit seizoen. Voeg alle deelnemers toe voordat je de eerste test start — kandidaten worden automatisch aan nieuwe testen gekoppeld. + + + Names are entered freely; use the same spelling you use in the game. + Namen zijn vrij in te voeren; gebruik dezelfde schrijfwijze die je in het spel gebruikt. + + + + + Season settings + Seizoensinstellingen + + + Adjust the name and other settings for this season here. + Pas hier de naam en overige instellingen van dit seizoen aan. + + + The season code is fixed after creation and determines the URL candidates use to log in. + De seizoenscode staat vast na aanmaken en bepaalt de URL die kandidaten gebruiken om in te loggen. + + + + + Question bank + Vragenbank + + + The question bank is a library of questions that can be linked to multiple quizzes. Mark a question as reusable if it may appear in multiple quizzes (e.g. 'Who is de Mol?'). + De vragenbank is een bibliotheek met vragen die aan meerdere testen kunnen worden gekoppeld. Markeer een vraag als herbruikbaar als deze in meerdere testen mag voorkomen (bijv. "Wie is de Mol?"). + + + After editing a bank question, quizzes that already contain it are not updated automatically — use the sync button next to a quiz to push the latest version. + Na het bewerken van een bankenvraag worden testen die de vraag al bevatten niet automatisch bijgewerkt — gebruik de synchronisatieknop (↻) naast een test om de meest recente versie door te zetten. + + + + + Upload quiz via XLSX + Test uploaden via XLSX + + + Upload an XLSX file with the questions for this quiz. After uploading you can review, check and finalize the quiz. + Upload een XLSX-bestand met de vragen voor deze test. Na het uploaden kun je de vragen bekijken, controleren en de test afronden. + + + Expected format + Verwacht formaat + + + First column: question text + Eerste kolom: de vraagtekst + + + Next columns: answer options + Volgende kolommen: de antwoordopties + + + Mark the correct answer in the spreadsheet + Markeer het juiste antwoord via de spreadsheet + + + + + Create blank quiz + Lege test aanmaken + + + Create an empty quiz and add questions from the question bank. Useful if you reuse questions or have prepared them in the bank in advance. + Maak een lege test aan en voeg vragen toe vanuit de vragenbank. Handig als je vragen hergebruikt of ze van tevoren in de bank hebt klaargezet. + + + After creating, open the quiz, add questions via the Overview tab and finalize the quiz before activating it. + Na het aanmaken open je de test, voeg je vragen toe via het tabblad Overzicht en ronde je de test af voordat je hem activeert. + + + + + Add question + Vraag toevoegen + + + Enter the question and add at least two answer options. Mark exactly one answer as correct. + Voer de vraag in en voeg minimaal twee antwoordopties toe. Markeer precies één antwoord als correct. + + + Use labels to organise questions in the question bank, for example by episode or theme. + Gebruik labels om vragen te organiseren in de vragenbank, bijvoorbeeld per aflevering of thema. + + + Mark a question as reusable if it may appear in multiple quizzes — otherwise a question can only be linked to one quiz. + Markeer een vraag als herbruikbaar als deze in meerdere testen mag voorkomen — anders kan een vraag maar aan één test worden gekoppeld. + + + + + Overview & finalize + Overzicht & afronden + + + Questions with a red marker in the list have an error. Fix these before finalizing. + Vragen met een rode markering in de lijst hiernaast bevatten een fout. Herstel deze vóór het afronden. + + + Finalize locks the quiz for editing and makes it ready for candidates. You can then activate it. + Afronden vergrendelt de test voor bewerking en maakt hem klaar voor kandidaten. Daarna kun je hem activeren. + + + Activate makes the quiz available to candidates. Only one quiz can be active at a time — only activate the next quiz when everyone has completed the current one. + Activeren stelt de test beschikbaar aan kandidaten. Er kan maar één test tegelijk actief zijn — activeer de volgende test pas als iedereen de huidige heeft afgerond. + + + Clear quiz removes all given answers and undoes finalization, so you can edit and run the quiz again. + Test wissen verwijdert alle gegeven antwoorden en heft het afronden op, zodat je de test opnieuw kunt bewerken en uitvoeren. + + + + + Let candidates take the quiz + Kandidaten laten deelnemen + + + Candidates can take the quiz in two ways: + Kandidaten kunnen de test op twee manieren invullen: + + + Option 1 — own device: Share the season code. Each candidate visits the site on their phone, enters their own name and starts the quiz. + Optie 1 — eigen apparaat: Deel de seizoenscode. Elke kandidaat bezoekt de site op zijn of haar telefoon, voert de eigen naam in en start de test. + + + Option 2 — shared laptop: Open the name entry page in advance on a laptop. Each candidate types their name and starts. After finishing, the next candidate can do the same. + Optie 2 — gedeelde laptop: Open de naamsinvoerpagina van tevoren op een laptop. Elke kandidaat typt zijn of haar naam en start. Na afloop kan de volgende kandidaat hetzelfde doen. + + + Status + Status + + + Deactivate a candidate if they should not take this quiz, for example after being eliminated earlier. Deactivation is per quiz and does not affect other quizzes. + Deactiveer een kandidaat als deze de test niet hoeft te maken, bijvoorbeeld na eerder uitgeschakeld zijn. Deactivering is per test en heeft geen invloed op andere testen. + + + + + Fill in answers + Antwoorden invullen + + + Use this overview to manually assign answers — for example in case of technical problems or if someone took the quiz on paper. + Gebruik dit overzicht om handmatig antwoorden toe te wijzen — bijvoorbeeld bij technische problemen of als iemand de test op papier heeft ingevuld. + + + Navigate between questions using the Previous and Next buttons. Tick the given answer per candidate and save. + Navigeer met de knoppen Vorige en Volgende tussen vragen. Vink per kandidaat het gegeven antwoord aan en sla op. + + + + + Results + Resultaten + + + The table shows the final result per candidate sorted by score. Red rows are the candidates with the lowest score who are at risk of elimination. + De tabel toont het eindresultaat per kandidaat gesorteerd op score. Rode rijen zijn de kandidaten met de laagste score die risico lopen op eliminatie. + + + Corrections are added for bonus points or joker deductions (half points are possible). + Correcties voeg je toe voor bonuspunten of jokeraftrek (halve punten zijn mogelijk). + + + Penalty is a time penalty in seconds and is taken into account when scores are tied. + Straf is tijdstraf in seconden en wordt meegewogen bij gelijke score. + + + Via Prepare elimination you set the screen colours manually and start the elimination sequence. + Via Eliminatie voorbereiden stel je de schermkleuren handmatig in en start je de eliminatiereeks. + + + + + Prepare elimination + Eliminatie voorbereiden + + + Choose a colour for each candidate: green means safe, red means eliminated. + Kies voor elke kandidaat een kleur: groen betekent veilig, rood betekent geëlimineerd. + + + Use Save and start to play the elimination immediately, or save first and start later via the Results tab. + Gebruik Opslaan en starten om de eliminatie direct af te spelen, of sla eerst op en start later via het tabblad Resultaten. + + + +
+
diff --git a/translations/messages+intl-icu.nl.xliff b/translations/messages+intl-icu.nl.xliff index 90b8cb2..da4b9ea 100644 --- a/translations/messages+intl-icu.nl.xliff +++ b/translations/messages+intl-icu.nl.xliff @@ -179,7 +179,7 @@ Deactivate the quiz before undoing the finalization - Deactiveer de test voordat je de finalisatie ongedaan maakt + Deactiveer de test voordat je het afronden ongedaan maakt Delete @@ -231,11 +231,11 @@ Finalize - Finaliseren + Afronden Finalized - Definitief + Afgerond Green @@ -471,7 +471,7 @@ Quiz cleared and no longer finalized - Test leeggemaakt en niet langer gefinaliseerd + Test leeggemaakt en niet langer afgerond Quiz completed @@ -483,11 +483,11 @@ Quiz finalized - Test gefinaliseerd + Test afgerond Quiz is no longer finalized - Test is niet langer gefinaliseerd + Test is niet langer afgerond Quiz name @@ -583,11 +583,11 @@ The question was not synced to finalized quiz(zes): %quizzes%. Use the Sync button to update them. - De vraag is niet gesynchroniseerd naar gefinaliseerde quiz(zes): %quizzes%. Gebruik de Synchroniseren-knop om ze bij te werken. + De vraag is niet gesynchroniseerd naar afgeronde quiz(zes): %quizzes%. Gebruik de Synchroniseren-knop om ze bij te werken. The quiz cannot be finalized while it has errors - De test kan niet gefinaliseerd worden zolang er fouten zijn + De test kan niet afgerond worden zolang er fouten zijn The quiz has already been filled in and can no longer be altered @@ -595,7 +595,7 @@ The quiz must be finalized before it can be activated - De test moet gefinaliseerd zijn voordat deze geactiveerd kan worden + De test moet afgerond zijn voordat deze geactiveerd kan worden There are no answers for this question @@ -635,7 +635,15 @@ Undo finalization - Finalisatie ongedaan maken + Afronden ongedaan maken + + + Locks the quiz so it can no longer be edited and makes it ready for candidates to take. + Vergrendelt de test zodat deze niet meer bewerkt kan worden en maakt deze klaar voor deelnemers. + + + Re-opens the quiz for editing. Candidates will no longer be able to take the quiz until it is finalized again. + Heropent de test voor bewerking. Deelnemers kunnen de test niet meer afnemen totdat deze opnieuw is afgerond. Used in