From 1b88a18d41188e747b166af3e9705a5b91d49d46 Mon Sep 17 00:00:00 2001 From: Louis Gesbert Date: Thu, 4 May 2023 19:24:27 +0200 Subject: [PATCH] fix(ui): update fr translation following the previous patches. Note that the teacher page doc content is not yet translated; contributions welcome ;) --- translations/fr.po | 929 ++++++++++++++++++++++++++++----------------- 1 file changed, 591 insertions(+), 338 deletions(-) diff --git a/translations/fr.po b/translations/fr.po index 782bedd19..6cb1dcd58 100644 --- a/translations/fr.po +++ b/translations/fr.po @@ -6,12 +6,12 @@ msgid "" msgstr "" "Project-Id-Version: learn-ocaml ~dev\n" -"PO-Revision-Date: 2023-04-18 19:58+0200\n" +"PO-Revision-Date: 2023-05-04 19:23+0200\n" "Last-Translator: Erik Martin-Dorel \n" "Language-Team: OCSF\n" "Language: french\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: File "src/grader/learnocaml_report.ml", line 240, characters 50-66 595, @@ -72,262 +72,249 @@ msgstr "@[Réussite %d: %a@]" msgid "@[Penalty %d: %a@]" msgstr "@[Pénalité %d: %a@]" -#: File "src/app/learnocaml_common.ml", line 71, characters 21-37 -msgid "INTERNAL ERROR" -msgstr "ERREUR INTERNE" - -#: File "src/app/learnocaml_common.ml", line 106, characters 50-54 140, 33-37 -#: 146, 36-40 -msgid "OK" -msgstr "OK" - -#: File "src/app/learnocaml_common.ml", line 137, characters 21-28 -msgid "ERROR" -msgstr "ERREUR" - -#: File "src/app/learnocaml_common.ml", line 140, characters 58-66 446, 12-20 -#: 942, 19-27 "src/app/learnocaml_index_main.ml", 583, 17-25 -msgid "Cancel" -msgstr "Annuler" - -#: File "src/app/learnocaml_common.ml", line 438, characters 26-41 937, 32-47 -#: "src/app/learnocaml_index_main.ml", 578, -msgid "REQUEST ERROR" -msgstr "ERREUR DE REQUÊTE" - -#: File "src/app/learnocaml_common.ml", line 439, characters 22-59 938, 30-67 -#: "src/app/learnocaml_index_main.ml", 579, 28-65 -msgid "Could not retrieve data from server" -msgstr "Échec lors du téléchargement des données du serveur" - -#: File "src/app/learnocaml_common.ml", line 442, characters 12-19 486, 13-20 -#: 941, 19-26 "src/app/learnocaml_index_main.ml", 582, 17-24 -msgid "Retry" -msgstr "Réessayer" - -#: File "src/app/learnocaml_common.ml", line 445, characters 25-33 487, 13-21 -msgid "Ignore" -msgstr "Ignorer" - -#: File "src/app/learnocaml_common.ml", line 482, characters 26-39 -msgid "SYNC FAILED" -msgstr "ECHEC DE LA SYNCHRONISATION" - -#: File "src/app/learnocaml_common.ml", line 483, characters 22-66 -msgid "Could not synchronise save with the server" -msgstr "Les données n'ont pas pu être synchronisées avec le serveur" - -#: File "src/app/learnocaml_common.ml", line 542, characters 39-50 -msgid "%dd %02dh" -msgstr "%dj %02dh" - -#: File "src/app/learnocaml_common.ml", line 543, characters 40-51 -msgid "%02d:%02d" -msgstr "%02d:%02d" - -#: File "src/app/learnocaml_common.ml", line 544, characters 23-36 -msgid "0:%02d:%02d" -msgstr "0:%02d:%02d" - -#: File "src/app/learnocaml_common.ml", line 575, characters 34-55 1182, 38-59 -msgid "difficulty: %d / 40" -msgstr "difficulté: %d / 40" - -#: File "src/app/learnocaml_common.ml", line 610, characters 30-75 -msgid "No description available for this exercise." -msgstr "Aucune description pour cet exercice." - -#: File "src/app/learnocaml_common.ml", line 633, characters 32-41 -#: "src/app/learnocaml_index_main.ml", 132, 54-63 -msgid "project" -msgstr "projet" - -#: File "src/app/learnocaml_common.ml", line 634, characters 32-41 -#: "src/app/learnocaml_index_main.ml", 133, 54-63 -msgid "problem" -msgstr "problème" - -#: File "src/app/learnocaml_common.ml", line 635, characters 33-43 -#: "src/app/learnocaml_index_main.ml", 134, 55-65 -msgid "exercise" -msgstr "exercice" - -#: File "src/app/learnocaml_common.ml", line 787, characters 26-33 -msgid "Clear" -msgstr "Effacer" - -#: File "src/app/learnocaml_common.ml", line 792, characters 25-32 917, 24-31 -msgid "Reset" -msgstr "Réinitialiser" - -#: File "src/app/learnocaml_common.ml", line 797, characters 22-35 -msgid "Eval phrase" -msgstr "Évaluer la phrase" - -#: File "src/app/learnocaml_common.ml", line 812, characters 24-51 -msgid "Preparing the environment" -msgstr "Préparation de l'environnement" - -#: File "src/app/learnocaml_common.ml", line 813, characters 39-47 818, 37-45 -msgid "Editor" -msgstr "Éditeur" - -#: File "src/app/learnocaml_common.ml", line 814, characters 41-51 -#: "src/app/learnocaml_index_main.ml", 691, 30-40 -msgid "Toplevel" -msgstr "Toplevel" - -#: File "src/app/learnocaml_common.ml", line 815, characters 39-47 827, -#: "src/app/learnocaml_exercise_main.ml", 58, 30-38 62, 67, -#: "src/app/learnocaml_student_view.ml", 383, 28-36 396, 400, 405, -msgid "Report" -msgstr "Rapport" - -#: File "src/app/learnocaml_common.ml", line 816, characters 37-47 -msgid "Exercise" -msgstr "Exercice" - -#: File "src/app/learnocaml_common.ml", line 817, characters 37-46 -msgid "Details" -msgstr "Détails" - -#: File "src/app/learnocaml_common.ml", line 819, characters 27-70 -msgid "Click the Grade button to get your report" -msgstr "Cliquez sur le bouton Noter pour obtenir votre rapport" - -#: File "src/app/learnocaml_common.ml", line 824, characters 22-44 -msgid "Loading student data" -msgstr "Chargement des informations sur les étudiants" - -#: File "src/app/learnocaml_common.ml", line 825, characters 38-45 -msgid "Stats" -msgstr "Statistiques" - -#: File "src/app/learnocaml_common.ml", line 826, characters 37-48 -#: "src/app/learnocaml_index_main.ml", 688, 29-40 -#: "src/app/learnocaml_teacher_tab.ml", 329, 18-29 -#: "src/app/learnocaml_exercise_main.ml", 204, 23-34 -msgid "Exercises" -msgstr "Exercices" - -#: File "src/app/learnocaml_common.ml", line 828, characters 37-46 -msgid "Subject" -msgstr "Énoncé" - -#: File "src/app/learnocaml_common.ml", line 829, characters 39-47 -msgid "Answer" -msgstr "Réponse" - -#: File "src/app/learnocaml_common.ml", line 918, characters 22-42 968, 34-54 -msgid "START FROM SCRATCH" -msgstr "TOUT RECOMMENCER" - -#: File "src/app/learnocaml_common.ml", line 919, characters 16-65 969, 28-77 -msgid "This will discard all your edits. Are you sure?" -msgstr "Toutes vos modifications seront perdues. Êtes-vous sûr·e ?" - -#: File "src/app/learnocaml_common.ml", line 933, characters 28-45 1152, -#: "src/app/learnocaml_index_main.ml", 574, -msgid "TOKEN NOT FOUND" -msgstr "TOKEN NON TROUVÉ" - -#: File "src/app/learnocaml_common.ml", line 934, characters 17-60 1153, -#: "src/app/learnocaml_index_main.ml", 575, -msgid "The entered token couldn't be recognised." -msgstr "Le token entré n'a pas été reconnu." - -#: File "src/app/learnocaml_common.ml", line 952, characters 34-61 957, 25-52 -msgid "Reload latest graded code" -msgstr "Reprendre le dernier code noté" - -#: File "src/app/learnocaml_common.ml", line 953, characters 28-99 -msgid "This will replace your code with your last graded code. Are you sure?" -msgstr "Cela va remplacer votre code par la dernière version évaluée. Êtes-vous sûr·e ?" - -#: File "src/app/learnocaml_common.ml", line 960, characters 34-61 965, 25-52 -msgid "Reload latest saved draft" -msgstr "Reprendre le dernier code synchronisé" - -#: File "src/app/learnocaml_common.ml", line 961, characters 28-99 -msgid "This will replace your code with your last saved draft. Are you sure?" -msgstr "Cela va remplacer votre code par la dernière version synchronisée. Êtes-vous sûr·e ?" - -#: File "src/app/learnocaml_common.ml", line 972, characters 25-52 -msgid "Reset to initial template" -msgstr "Réinitialiser le code" - -#: File "src/app/learnocaml_common.ml", line 975, characters 9-17 -msgid "Reload" -msgstr "Recharger" - -#: File "src/app/learnocaml_common.ml", line 982, characters 27-37 -msgid "Download" -msgstr "Télécharger" - -#: File "src/app/learnocaml_common.ml", line 990, characters 22-33 -msgid "Eval code" -msgstr "Exécuter le code" - -#: File "src/app/learnocaml_common.ml", line 1000, characters 23-29 -msgid "Sync" -msgstr "Sync" - -#: File "src/app/learnocaml_common.ml", line 1069, characters 34-49 1104, -msgid "OCaml prelude" -msgstr "Prélude OCaml" - -#: File "src/app/learnocaml_common.ml", line 1076, characters 59-65 1111, -msgid "Hide" -msgstr "Cacher" - -#: File "src/app/learnocaml_common.ml", line 1081, characters 59-65 1118, -msgid "Show" -msgstr "Montrer" - -#: File "src/app/learnocaml_common.ml", line 1143, characters 18-36 -#: "src/app/learnocaml_index_main.ml", 629, 31-49 -msgid "Enter your token" -msgstr "Entrez votre token" - -#: File "src/app/learnocaml_common.ml", line 1188, characters 22-35 -msgid "Difficulty:" -msgstr "Difficulté :" - -#: File "src/app/learnocaml_common.ml", line 1202, characters 39-49 -msgid "Kind: %s" -msgstr "Type : %s" - -#: File "src/app/learnocaml_common.ml", line 1343, characters 46-59 -msgid "Identifier:" -msgstr "Identifiant de l'exercice :" - -#: File "src/app/learnocaml_common.ml", line 1347, characters 48-57 -msgid "Author:" -msgstr "Auteur :" - -#: File "src/app/learnocaml_common.ml", line 1348, characters 47-57 -msgid "Authors:" -msgstr "Auteurs :" - -#: File "src/app/learnocaml_common.ml", line 1353, characters 31-48 -msgid "Skills trained:" -msgstr "Compétences pratiquées :" +#: File "src/app/learnocaml_teacher_tab_doc.ml", line 11, characters 5-25 +msgid "Handling exercises" +msgstr "Gestion des exercices" -#: File "src/app/learnocaml_common.ml", line 1357, characters 31-49 -msgid "Skills required:" -msgstr "Compétences requises :" - -#: File "src/app/learnocaml_common.ml", line 1362, characters 36-57 -msgid "Previous exercises:" -msgstr "Exercices précédents :" +#: File "src/app/learnocaml_teacher_tab_doc.ml", lines 11-46, characters 31-10 +msgid "" +"\n" +"> Don't forget to click \"Apply\" on the bottom-right after any changes\n" +"\n" +"- **Filtering exercises**
\n" +" Use the \r9\f8a box on top.\n" +" - type for raw text search on the titles\n" +" - click again to list the tags and filter based on those\n" +" - multiple search terms are allowed\n" +"\n" +"- **Selecting which exercises can be seen by the students**\n" +" - select the exercises with a click (the box on top (de)selects all; you " +"can\n" +" also click folder titles)\n" +" - click the [Open/Close] button to toggle\n" +" - for complex selections, use the filter box then select all\n" +"\n" +"- **Defining exercise skill tags**
\n" +" Those can also be pre-defined in the exercises metadata.\n" +" 1. Select the exercises to tag\n" +" 2. Select or type a new tag in one of the boxes on the lower-right of the " +"pane\n" +" (left for requirements, right skills trained by the exercise)\n" +" 3. Click the corresponding [+] button to add the tag ([-] to remove)\n" +"\n" +"- **Checking an exercise contents**\n" +" - double-click an exercise\n" +" - it will be opened in a new tab\n" +"\n" +"- **Classifying students answers**
\n" +" As documented\n" +"[here](https://ocaml-sf.org/learn-ocaml/howto-classify-students-answers." +"html):\n" +" - Assume you want to analyze students' definitions of function `foo` in\n" +" exercise `exo`\n" +" - Hold Ctrl (on macOS: Hold `j) and left click on `exo` in the list of\n" +" exercises\n" +" - Enter `foo` in the dialog box\n" +" - The dissimilarity analysis will be opened in a new tab\n" +msgstr "" +"\n" +"> Don't forget to click \"Apply\" on the bottom-right after any changes\n" +"\n" +"- **Filtering exercises**
\n" +" Use the \\r9\f8a box on top.\n" +" - type for raw text search on the titles\n" +" - click again to list the tags and filter based on those\n" +" - multiple search terms are allowed\n" +"\n" +"- **Selecting which exercises can be seen by the students**\n" +" - select the exercises with a click (the box on top (de)selects all; you can\n" +" also click folder titles)\n" +" - click the [Open/Close] button to toggle\n" +" - for complex selections, use the filter box then select all\n" +"\n" +"- **Defining exercise skill tags**
\n" +" Those can also be pre-defined in the exercises metadata.\n" +" 1. Select the exercises to tag\n" +" 2. Select or type a new tag in one of the boxes on the lower-right of the pane\n" +" (left for requirements, right skills trained by the exercise)\n" +" 3. Click the corresponding [+] button to add the tag ([-] to remove)\n" +"\n" +"- **Checking an exercise contents**\n" +" - double-click an exercise\n" +" - it will be opened in a new tab\n" +"\n" +"- **Classifying students answers**
\n" +" As documented\n" +"[here](https://ocaml-sf.org/learn-ocaml/howto-classify-students-answers.html):\n" +" - Assume you want to analyze students' definitions of function `foo` in\n" +" exercise `exo`\n" +" - Hold Ctrl (on macOS: Hold `j) and left click on `exo` in the list of\n" +" exercises\n" +" - Enter `foo` in the dialog box\n" +" - The dissimilarity analysis will be opened in a new tab\n" + +#: File "src/app/learnocaml_teacher_tab_doc.ml", line 49, characters 5-24 +msgid "Handling students" +msgstr "Gestion des étudiants" + +#: File "src/app/learnocaml_teacher_tab_doc.ml", lines 49-85, characters 30-10 +msgid "" +"\n" +"> Don't forget to click \"Apply\" on the bottom-right after any changes\n" +"\n" +"- **Filtering students**
\n" +" Use the \r9\f8a box on top.\n" +" - type for raw text search on the nicknames\n" +" - click again to list the tags and filter based on those\n" +" - multiple search terms are allowed\n" +"\n" +"- **Tagging students**
\n" +" Tags can be used for groups, level, etc.\n" +" 1. select the students to tag. To select a group, use the filter box and " +"the\n" +" box on top to select all. Use the `Sort by` box on the top right to " +"easily\n" +" select new students or untagged studends\n" +" 2. select or type the tag on the box to the lower-right\n" +" 3. Click the corresponding [+] button to add the tag ([-] to remove)\n" +"\n" +"- **Following a student**\n" +" - at a glance:\n" +" a bar on the right of each student shows a short insight of their " +"progress,\n" +" - vertical stripes correspond to the exercises, in order\n" +" - grey is shown for exercises not attempted\n" +" - the color otherwise varies from green (good) to red (bad) depending on " +"the\n" +" grade\n" +" - in detail:\n" +" - double-click on the student line to open their track record in a new " +"tab\n" +" - there you can see their detailed results per exercise, and check " +"their\n" +" answers\n" +" - see \"Classifying students answers\" in the exercise pane guide for a " +"way\n" +" to compare solutions between students\n" +"\n" +"- **Downloading the grades**\n" +" - use the [Actions] menu at the bottom to export a CSV file containing a " +"line\n" +" per student, and two columns (grade and date) per exercise\n" +" - if any exercises or students are selected, the CSV will only contain " +"those\n" +" - otherwise everything is exported\n" +msgstr "" +"\n" +"> Don't forget to click \"Apply\" on the bottom-right after any changes\n" +"\n" +"- **Filtering students**
\n" +" Use the \\r9\f8a box on top.\n" +" - type for raw text search on the nicknames\n" +" - click again to list the tags and filter based on those\n" +" - multiple search terms are allowed\n" +"\n" +"- **Tagging students**
\n" +" Tags can be used for groups, level, etc.\n" +" 1. select the students to tag. To select a group, use the filter box and the\n" +" box on top to select all. Use the `Sort by` box on the top right to easily\n" +" select new students or untagged studends\n" +" 2. select or type the tag on the box to the lower-right\n" +" 3. Click the corresponding [+] button to add the tag ([-] to remove)\n" +"\n" +"- **Following a student**\n" +" - at a glance:\n" +" a bar on the right of each student shows a short insight of their progress,\n" +" - vertical stripes correspond to the exercises, in order\n" +" - grey is shown for exercises not attempted\n" +" - the color otherwise varies from green (good) to red (bad) depending on the\n" +" grade\n" +" - in detail:\n" +" - double-click on the student line to open their track record in a new tab\n" +" - there you can see their detailed results per exercise, and check their\n" +" answers\n" +" - see \"Classifying students answers\" in the exercise pane guide for a way\n" +" to compare solutions between students\n" +"\n" +"- **Downloading the grades**\n" +" - use the [Actions] menu at the bottom to export a CSV file containing a line\n" +" per student, and two columns (grade and date) per exercise\n" +" - if any exercises or students are selected, the CSV will only contain those\n" +" - otherwise everything is exported\n" -#: File "src/app/learnocaml_common.ml", line 1365, characters 35-52 -msgid "Next exercises:" -msgstr "Exercices suivants :" +#: File "src/app/learnocaml_teacher_tab_doc.ml", line 88, characters 5-27 +msgid "Handling assignments" +msgstr "Gestion des devoirs" -#: File "src/app/learnocaml_common.ml", line 1370, characters 26-36 -msgid "Metadata" -msgstr "Métadonnées" +#: File "src/app/learnocaml_teacher_tab_doc.ml", lines 88-118, characters 33-10 +msgid "" +"\n" +"Assignments provide a way to open select exercises to select students for a\n" +"given period of time. Once due, the students will be restricted to read-" +"only\n" +"access.\n" +"\n" +"- **Creating an assignment**\n" +" 1. Select exercises, as above\n" +" 2. Select students, as above. You can use the \"any future students\" line " +"to\n" +" apply to students who haven't yet registered\n" +" 3. Click the \"New assignment\" button at the bottom\n" +" 4. Edit the two dates (start and end of the assignment, resp.)\n" +" 5. Don't forget to [Apply] on the bottom right\n" +" 6. Click the assignment again to unselect it and quit assignment mode\n" +"\n" +"- **Editing an assignment**\n" +" - select it in the bottom pane\n" +" - the corresponding exercises and students are automatically selected. " +"Update\n" +" the selection as needed\n" +" - click the assignment again when finished (to quit editing mode), and " +"don't\n" +" forget to [Apply]\n" +"\n" +"- **Following assignments**\n" +" - an additional small \"progression\" bar is shown for each assignment in " +"the\n" +" students pane\n" +" - past assignment dates are outlined in red\n" +" - when selecting students, exercises assigned to any of them will be " +"greyed\n" +" out to prevent assigning multiple times the same exercise to the same\n" +" student\n" +" - conversely, when selecting exercises, students who already have them\n" +" assigned are greyed out\n" +msgstr "" +"\n" +"Assignments provide a way to open select exercises to select students for a\n" +"given period of time. Once due, the students will be restricted to read-only\n" +"access.\n" +"\n" +"- **Creating an assignment**\n" +" 1. Select exercises, as above\n" +" 2. Select students, as above. You can use the \"any future students\" line to\n" +" apply to students who haven't yet registered\n" +" 3. Click the \"New assignment\" button at the bottom\n" +" 4. Edit the two dates (start and end of the assignment, resp.)\n" +" 5. Don't forget to [Apply] on the bottom right\n" +" 6. Click the assignment again to unselect it and quit assignment mode\n" +"\n" +"- **Editing an assignment**\n" +" - select it in the bottom pane\n" +" - the corresponding exercises and students are automatically selected. Update\n" +" the selection as needed\n" +" - click the assignment again when finished (to quit editing mode), and don't\n" +" forget to [Apply]\n" +"\n" +"- **Following assignments**\n" +" - an additional small \"progression\" bar is shown for each assignment in the\n" +" students pane\n" +" - past assignment dates are outlined in red\n" +" - when selecting students, exercises assigned to any of them will be greyed\n" +" out to prevent assigning multiple times the same exercise to the same\n" +" student\n" +" - conversely, when selecting exercises, students who already have them\n" +" assigned are greyed out\n" #: File "src/toplevel/learnocaml_toplevel.ml", line 79, characters 7-41 msgid "The toplevel has been cleared.\n" @@ -427,6 +414,21 @@ msgstr "Exercice fermé" msgid "Time left: %s" msgstr "Temps restant: %s" +#: File "src/app/learnocaml_index_main.ml", line 132, characters 54-63 +#: "src/app/learnocaml_common.ml", 643, 32-41 +msgid "project" +msgstr "projet" + +#: File "src/app/learnocaml_index_main.ml", line 133, characters 54-63 +#: "src/app/learnocaml_common.ml", 644, 32-41 +msgid "problem" +msgstr "problème" + +#: File "src/app/learnocaml_index_main.ml", line 134, characters 55-65 +#: "src/app/learnocaml_common.ml", 645, 33-43 +msgid "exercise" +msgstr "exercice" + #: File "src/app/learnocaml_index_main.ml", line 154, characters 28-61 msgid "No open exercises at the moment" msgstr "Aucun exercice n'est encore ouvert" @@ -479,6 +481,36 @@ msgstr "" msgid "Please write it down." msgstr "Notez-le !" +#: File "src/app/learnocaml_index_main.ml", line 574, characters 28-45 +#: "src/app/learnocaml_common.ml", 943, 1179, +msgid "TOKEN NOT FOUND" +msgstr "TOKEN NON TROUVÉ" + +#: File "src/app/learnocaml_index_main.ml", line 575, characters 17-60 +#: "src/app/learnocaml_common.ml", 944, 1180, +msgid "The entered token couldn't be recognised." +msgstr "Le token entré n'a pas été reconnu." + +#: File "src/app/learnocaml_index_main.ml", line 578, characters 32-47 +#: "src/app/learnocaml_common.ml", 447, 26-41 947, +msgid "REQUEST ERROR" +msgstr "ERREUR DE REQUÊTE" + +#: File "src/app/learnocaml_index_main.ml", line 579, characters 28-65 +#: "src/app/learnocaml_common.ml", 448, 22-59 948, 30-67 +msgid "Could not retrieve data from server" +msgstr "Échec lors du téléchargement des données du serveur" + +#: File "src/app/learnocaml_index_main.ml", line 582, characters 17-24 +#: "src/app/learnocaml_common.ml", 451, 12-19 495, 13-20 951, 19-26 +msgid "Retry" +msgstr "Réessayer" + +#: File "src/app/learnocaml_index_main.ml", line 583, characters 17-25 +#: "src/app/learnocaml_common.ml", 140, 58-66 160, 30-38 455, 12-20 952, 19-27 +msgid "Cancel" +msgstr "Annuler" + #: File "src/app/learnocaml_index_main.ml", line 617, characters 7-21 msgid "Connected as" msgstr "Connecté en tant que" @@ -519,45 +551,62 @@ msgstr "Utilisateur existant" msgid "Already have a token? Click here!" msgstr "Vous avez déjà un token ? Par ici !" +#: File "src/app/learnocaml_index_main.ml", line 629, characters 31-49 +#: "src/app/learnocaml_common.ml", 1170, 18-36 +msgid "Enter your token" +msgstr "Entrez votre token" + #: File "src/app/learnocaml_index_main.ml", line 630, characters 31-40 msgid "Connect" msgstr "Se connecter" -#: File "src/app/learnocaml_index_main.ml", line 631, characters 35-50 -msgid "Send feedback to Learn-OCaml developers" -msgstr "Envoyer un commentaire aux développeurs Learn-OCaml" - #: File "src/app/learnocaml_index_main.ml", line 638, characters 9-19 640, -#: "src/app/learnocaml_teacher_tab.ml", 558, 22-32 +#: "src/app/learnocaml_teacher_tab.ml", 612, 22-32 msgid "Nickname" msgstr "Pseudonyme" -#: File "src/app/learnocaml_index_main.ml", line 675, characters 38-59 +#: File "src/app/learnocaml_index_main.ml", line 647, characters 7-48 +msgid "Send feedback to Learn-OCaml developers" +msgstr "Envoyer un commentaire aux développeurs Learn-OCaml" + +#: File "src/app/learnocaml_index_main.ml", line 676, characters 38-59 msgid "Choose an activity." msgstr "Sélectionnez une activité." -#: File "src/app/learnocaml_index_main.ml", line 684, characters 31-42 +#: File "src/app/learnocaml_index_main.ml", line 685, characters 31-42 msgid "Tutorials" msgstr "Tutoriels" -#: File "src/app/learnocaml_index_main.ml", line 686, characters 29-38 +#: File "src/app/learnocaml_index_main.ml", line 687, characters 29-38 msgid "Lessons" msgstr "Cours" -#: File "src/app/learnocaml_index_main.ml", line 693, characters 32-44 +#: File "src/app/learnocaml_index_main.ml", line 689, characters 29-40 +#: "src/app/learnocaml_common.ml", 836, 37-48 +#: "src/app/learnocaml_teacher_tab.ml", 375, 21-32 +#: "src/app/learnocaml_exercise_main.ml", 204, 23-34 +msgid "Exercises" +msgstr "Exercices" + +#: File "src/app/learnocaml_index_main.ml", line 692, characters 30-40 +#: "src/app/learnocaml_common.ml", 824, 41-51 +msgid "Toplevel" +msgstr "Toplevel" + +#: File "src/app/learnocaml_index_main.ml", line 694, characters 32-44 #: "src/app/learnocaml_playground_main.ml", 77, 23-35 msgid "Playground" msgstr "Bac-à-sable" -#: File "src/app/learnocaml_index_main.ml", line 696, characters 28-35 +#: File "src/app/learnocaml_index_main.ml", line 697, characters 28-35 msgid "Teach" msgstr "Enseignement" -#: File "src/app/learnocaml_index_main.ml", line 794, characters 15-69 +#: File "src/app/learnocaml_index_main.ml", line 795, characters 15-69 msgid "Be sure to write down your token before logging out:" msgstr "Assurez-vous d'avoir noté votre token :" -#: File "src/app/learnocaml_index_main.ml", lines 796-798, characters 15-26 +#: File "src/app/learnocaml_index_main.ml", lines 797-799, characters 15-26 msgid "" "WARNING: the data could not be synchronised with the server. Logging out " "will lose your local changes, be sure you exported a backup." @@ -566,40 +615,239 @@ msgstr "" "En vous déconnectant, vous perdrez tous les changements locaux, à moins " "d'avoir exporté votre espace de travail au préalable." -#: File "src/app/learnocaml_index_main.ml", line 800, characters 22-30 45-53 -#: 822, 9-17 +#: File "src/app/learnocaml_index_main.ml", line 801, characters 22-30 45-53 +#: 823, 9-17 msgid "Logout" msgstr "Déconnexion" -#: File "src/app/learnocaml_index_main.ml", line 813, characters 9-21 +#: File "src/app/learnocaml_index_main.ml", line 814, characters 9-21 msgid "Show token" msgstr "Afficher le token" -#: File "src/app/learnocaml_index_main.ml", line 816, characters 9-25 +#: File "src/app/learnocaml_index_main.ml", line 817, characters 9-25 msgid "Sync workspace" msgstr "Synchroniser" -#: File "src/app/learnocaml_index_main.ml", line 819, characters 9-25 +#: File "src/app/learnocaml_index_main.ml", line 820, characters 9-25 msgid "Export to file" msgstr "Exporter vers un fichier" -#: File "src/app/learnocaml_index_main.ml", line 820, characters 9-17 +#: File "src/app/learnocaml_index_main.ml", line 821, characters 9-17 msgid "Import" msgstr "Importer" -#: File "src/app/learnocaml_index_main.ml", line 821, characters 9-36 +#: File "src/app/learnocaml_index_main.ml", line 822, characters 9-36 msgid "Download all source files" msgstr "Télécharger tous les fichiers sources" -#: File "src/app/learnocaml_index_main.ml", line 827, characters 38-44 +#: File "src/app/learnocaml_index_main.ml", line 828, characters 38-44 msgid "Menu" msgstr "Menu" -#: File "src/app/learnocaml_teacher_tab.ml", line 75, characters 20-35 +#: File "src/app/learnocaml_common.ml", line 71, characters 21-37 +msgid "INTERNAL ERROR" +msgstr "ERREUR INTERNE" + +#: File "src/app/learnocaml_common.ml", line 106, characters 50-54 140, 33-37 +#: 146, 36-40 +msgid "OK" +msgstr "OK" + +#: File "src/app/learnocaml_common.ml", line 137, characters 21-28 +msgid "ERROR" +msgstr "ERREUR" + +#: File "src/app/learnocaml_common.ml", line 454, characters 25-33 496, 13-21 +msgid "Ignore" +msgstr "Ignorer" + +#: File "src/app/learnocaml_common.ml", line 491, characters 26-39 +msgid "SYNC FAILED" +msgstr "ECHEC DE LA SYNCHRONISATION" + +#: File "src/app/learnocaml_common.ml", line 492, characters 22-66 +msgid "Could not synchronise save with the server" +msgstr "Les données n'ont pas pu être synchronisées avec le serveur" + +#: File "src/app/learnocaml_common.ml", line 552, characters 39-50 +msgid "%dd %02dh" +msgstr "%dj %02dh" + +#: File "src/app/learnocaml_common.ml", line 553, characters 40-51 +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#: File "src/app/learnocaml_common.ml", line 554, characters 23-36 +msgid "0:%02d:%02d" +msgstr "0:%02d:%02d" + +#: File "src/app/learnocaml_common.ml", line 585, characters 34-55 1209, 38-59 +msgid "difficulty: %d / 40" +msgstr "difficulté: %d / 40" + +#: File "src/app/learnocaml_common.ml", line 620, characters 30-75 +msgid "No description available for this exercise." +msgstr "Aucune description pour cet exercice." + +#: File "src/app/learnocaml_common.ml", line 797, characters 26-33 +msgid "Clear" +msgstr "Effacer" + +#: File "src/app/learnocaml_common.ml", line 802, characters 25-32 927, 24-31 +msgid "Reset" +msgstr "Réinitialiser" + +#: File "src/app/learnocaml_common.ml", line 807, characters 22-35 +msgid "Eval phrase" +msgstr "Évaluer la phrase" + +#: File "src/app/learnocaml_common.ml", line 822, characters 24-51 +msgid "Preparing the environment" +msgstr "Préparation de l'environnement" + +#: File "src/app/learnocaml_common.ml", line 823, characters 39-47 828, 37-45 +msgid "Editor" +msgstr "Éditeur" + +#: File "src/app/learnocaml_common.ml", line 825, characters 39-47 837, +#: "src/app/learnocaml_exercise_main.ml", 58, 30-38 62, 67, +#: "src/app/learnocaml_student_view.ml", 383, 28-36 396, 400, 405, +msgid "Report" +msgstr "Rapport" + +#: File "src/app/learnocaml_common.ml", line 826, characters 37-47 +msgid "Exercise" +msgstr "Exercice" + +#: File "src/app/learnocaml_common.ml", line 827, characters 37-46 +msgid "Details" +msgstr "Détails" + +#: File "src/app/learnocaml_common.ml", line 829, characters 27-70 +msgid "Click the Grade button to get your report" +msgstr "Cliquez sur le bouton Noter pour obtenir votre rapport" + +#: File "src/app/learnocaml_common.ml", line 834, characters 22-44 +msgid "Loading student data" +msgstr "Chargement des informations sur les étudiants" + +#: File "src/app/learnocaml_common.ml", line 835, characters 38-45 +msgid "Stats" +msgstr "Statistiques" + +#: File "src/app/learnocaml_common.ml", line 838, characters 37-46 +msgid "Subject" +msgstr "Énoncé" + +#: File "src/app/learnocaml_common.ml", line 839, characters 39-47 +msgid "Answer" +msgstr "Réponse" + +#: File "src/app/learnocaml_common.ml", line 928, characters 22-42 978, 34-54 +msgid "START FROM SCRATCH" +msgstr "TOUT RECOMMENCER" + +#: File "src/app/learnocaml_common.ml", line 929, characters 16-65 979, 28-77 +msgid "This will discard all your edits. Are you sure?" +msgstr "Toutes vos modifications seront perdues. Êtes-vous sûr·e ?" + +#: File "src/app/learnocaml_common.ml", line 962, characters 34-61 967, 25-52 +msgid "Reload latest graded code" +msgstr "Reprendre le dernier code noté" + +#: File "src/app/learnocaml_common.ml", line 963, characters 28-99 +msgid "This will replace your code with your last graded code. Are you sure?" +msgstr "" +"Cela va remplacer votre code par la dernière version évaluée. Êtes-vous " +"sûr·e ?" + +#: File "src/app/learnocaml_common.ml", line 970, characters 34-61 975, 25-52 +msgid "Reload latest saved draft" +msgstr "Reprendre le dernier code synchronisé" + +#: File "src/app/learnocaml_common.ml", line 971, characters 28-99 +msgid "This will replace your code with your last saved draft. Are you sure?" +msgstr "" +"Cela va remplacer votre code par la dernière version synchronisée. Êtes-vous " +"sûr·e ?" + +#: File "src/app/learnocaml_common.ml", line 982, characters 25-52 +msgid "Reset to initial template" +msgstr "Réinitialiser le code" + +#: File "src/app/learnocaml_common.ml", line 985, characters 9-17 +msgid "Reload" +msgstr "Recharger" + +#: File "src/app/learnocaml_common.ml", line 1011, characters 27-37 +msgid "Download" +msgstr "Télécharger" + +#: File "src/app/learnocaml_common.ml", line 1019, characters 22-33 +msgid "Eval code" +msgstr "Exécuter le code" + +#: File "src/app/learnocaml_common.ml", line 1029, characters 23-29 +msgid "Sync" +msgstr "Sync" + +#: File "src/app/learnocaml_common.ml", line 1098, characters 34-49 1133, +msgid "OCaml prelude" +msgstr "Prélude OCaml" + +#: File "src/app/learnocaml_common.ml", line 1105, characters 59-65 1140, +msgid "Hide" +msgstr "Cacher" + +#: File "src/app/learnocaml_common.ml", line 1110, characters 59-65 1147, +msgid "Show" +msgstr "Montrer" + +#: File "src/app/learnocaml_common.ml", line 1215, characters 22-35 +msgid "Difficulty:" +msgstr "Difficulté :" + +#: File "src/app/learnocaml_common.ml", line 1229, characters 39-49 +msgid "Kind: %s" +msgstr "Type : %s" + +#: File "src/app/learnocaml_common.ml", line 1370, characters 46-59 +msgid "Identifier:" +msgstr "Identifiant de l'exercice :" + +#: File "src/app/learnocaml_common.ml", line 1374, characters 48-57 +msgid "Author:" +msgstr "Auteur :" + +#: File "src/app/learnocaml_common.ml", line 1375, characters 47-57 +msgid "Authors:" +msgstr "Auteurs :" + +#: File "src/app/learnocaml_common.ml", line 1380, characters 31-48 +msgid "Skills trained:" +msgstr "Compétences pratiquées :" + +#: File "src/app/learnocaml_common.ml", line 1384, characters 31-49 +msgid "Skills required:" +msgstr "Compétences requises :" + +#: File "src/app/learnocaml_common.ml", line 1389, characters 36-57 +msgid "Previous exercises:" +msgstr "Exercices précédents :" + +#: File "src/app/learnocaml_common.ml", line 1392, characters 35-52 +msgid "Next exercises:" +msgstr "Exercices suivants :" + +#: File "src/app/learnocaml_common.ml", line 1397, characters 26-36 +msgid "Metadata" +msgstr "Métadonnées" + +#: File "src/app/learnocaml_teacher_tab.ml", line 106, characters 20-35 msgid "TEACHER TOKEN" msgstr "TOKEN PROF." -#: File "src/app/learnocaml_teacher_tab.ml", lines 76-77, characters 26-42 +#: File "src/app/learnocaml_teacher_tab.ml", lines 107-108, characters 26-42 msgid "" "New teacher token created:\n" "%s\n" @@ -611,109 +859,112 @@ msgstr "" "\n" "Notez-le !" -#: File "src/app/learnocaml_teacher_tab.ml", line 257, characters 48-54 +#: File "src/app/learnocaml_teacher_tab.ml", line 304, characters 52-58 msgid "Open" msgstr "Ouvert" -#: File "src/app/learnocaml_teacher_tab.ml", line 258, characters 52-60 +#: File "src/app/learnocaml_teacher_tab.ml", line 305, characters 56-64 msgid "Closed" msgstr "Fermé" -#: File "src/app/learnocaml_teacher_tab.ml", line 259, characters 58-68 260, -#: 42-52 +#: File "src/app/learnocaml_teacher_tab.ml", line 307, characters 41-51 msgid "Assigned" msgstr "Devoir" -#: File "src/app/learnocaml_teacher_tab.ml", line 320, characters 49-61 340, +#: File "src/app/learnocaml_teacher_tab.ml", line 308, characters 57-68 +msgid "Open/Assg" +msgstr "Ouvert/Devoir" + +#: File "src/app/learnocaml_teacher_tab.ml", line 368, characters 49-61 391, #: 48-60 msgid "Loading..." msgstr "Chargement..." -#: File "src/app/learnocaml_teacher_tab.ml", line 394, characters 17-38 +#: File "src/app/learnocaml_teacher_tab.ml", line 445, characters 17-38 msgid "any future students" msgstr "tout nouvel étudiant" -#: File "src/app/learnocaml_teacher_tab.ml", line 542, characters 18-28 +#: File "src/app/learnocaml_teacher_tab.ml", line 580, characters 21-31 msgid "Students" msgstr "Étudiants" -#: File "src/app/learnocaml_teacher_tab.ml", line 552, characters 20-29 +#: File "src/app/learnocaml_teacher_tab.ml", line 606, characters 20-29 msgid "Sort by" msgstr "Tri par" -#: File "src/app/learnocaml_teacher_tab.ml", line 560, characters 22-29 +#: File "src/app/learnocaml_teacher_tab.ml", line 614, characters 22-29 msgid "Token" msgstr "Token" -#: File "src/app/learnocaml_teacher_tab.ml", line 562, characters 22-37 +#: File "src/app/learnocaml_teacher_tab.ml", line 616, characters 22-37 msgid "Creation date" msgstr "Date d'entrée" -#: File "src/app/learnocaml_teacher_tab.ml", line 564, characters 22-28 +#: File "src/app/learnocaml_teacher_tab.ml", line 618, characters 22-28 msgid "Tags" msgstr "Tags" -#: File "src/app/learnocaml_teacher_tab.ml", line 569, characters 46-52 +#: File "src/app/learnocaml_teacher_tab.ml", line 623, characters 46-52 msgid "tags" msgstr "tags" -#: File "src/app/learnocaml_teacher_tab.ml", line 645, characters 16-28 +#: File "src/app/learnocaml_teacher_tab.ml", line 699, characters 16-28 msgid "1 exercise" msgstr "1 exercice" -#: File "src/app/learnocaml_teacher_tab.ml", line 646, characters 32-46 +#: File "src/app/learnocaml_teacher_tab.ml", line 700, characters 32-46 msgid "%d exercises" msgstr "%d exercices" -#: File "src/app/learnocaml_teacher_tab.ml", line 649, characters 23-34 +#: File "src/app/learnocaml_teacher_tab.ml", line 703, characters 23-34 msgid "1 student" msgstr "1 étudiant" -#: File "src/app/learnocaml_teacher_tab.ml", line 650, characters 39-52 +#: File "src/app/learnocaml_teacher_tab.ml", line 704, characters 39-52 msgid "%d students" msgstr "%d étudiants" -#: File "src/app/learnocaml_teacher_tab.ml", line 651, characters 38-52 +#: File "src/app/learnocaml_teacher_tab.ml", line 705, characters 38-52 msgid "%d+ students" msgstr "%d+ étudiants" -#: File "src/app/learnocaml_teacher_tab.ml", line 718, characters 45-61 +#: File "src/app/learnocaml_teacher_tab.ml", line 772, characters 45-61 msgid "New assignment" msgstr "Nouveau devoir" -#: File "src/app/learnocaml_teacher_tab.ml", line 821, characters 16-28 +#: File "src/app/learnocaml_teacher_tab.ml", line 873, characters 16-28 msgid "Open/Close" msgstr "Ouvrir/Fermer" -#: File "src/app/learnocaml_teacher_tab.ml", line 827, characters 47-64 +#: File "src/app/learnocaml_teacher_tab.ml", line 879, characters 47-64 msgid "required skills" msgstr "comp. requises" -#: File "src/app/learnocaml_teacher_tab.ml", line 831, characters 47-63 +#: File "src/app/learnocaml_teacher_tab.ml", line 883, characters 47-63 msgid "trained skills" msgstr "comp. travaillées" -#: File "src/app/learnocaml_teacher_tab.ml", line 840, characters 36-49 +#: File "src/app/learnocaml_teacher_tab.ml", line 892, characters 17-30 msgid "Assignments" msgstr "Devoirs" -#: File "src/app/learnocaml_teacher_tab.ml", line 923, characters 18-25 +#: File "src/app/learnocaml_teacher_tab.ml", line 982, characters 18-25 msgid "Apply" msgstr "Appliquer" -#: File "src/app/learnocaml_teacher_tab.ml", line 924, characters 54-63 +#: File "src/app/learnocaml_teacher_tab.ml", line 983, characters 54-63 msgid "Actions" msgstr "Actions" -#: File "src/app/learnocaml_teacher_tab.ml", line 927, characters 23-49 +#: File "src/app/learnocaml_teacher_tab.ml", line 986, characters 23-49 msgid "Create new teacher token" msgstr "Créer un nouveau token enseignant" -#: File "src/app/learnocaml_teacher_tab.ml", line 929, characters 23-53 -msgid "Download student data as CSV" -msgstr "Exporter les données étudiants en CSV" +#: File "src/app/learnocaml_teacher_tab.ml", line 988, characters 23-81 +msgid "Download the data for selected students/exercises as CSV" +msgstr "Télécharger un CSV des exercices/étudiants sélectionnés" -#: File "src/app/learnocaml_teacher_tab.ml", line 1101, characters 55-72 +#: File "src/app/learnocaml_teacher_tab.ml", line 1163, characters 55-72 msgid "Unsaved changes" msgstr "Modifications non sauvegardées" @@ -783,6 +1034,38 @@ msgstr "lors du chargement des dépendances" msgid "while testing your solution" msgstr "lors du test de la solution utilisateur" +#: File "src/grader/grader_jsoo_worker.ml", line 57, characters 34-67 +msgid "" +"Error in your solution:\n" +"%a\n" +"%!" +msgstr "" +"Erreur dans votre solution:\n" +"%a\n" +"%!" + +#: File "src/grader/grader_jsoo_worker.ml", line 60, characters 34-68 +msgid "" +"Error in the exercise %s\n" +"%a\n" +"%!" +msgstr "" +"Erreur dans l'exercice %s\n" +"%a\n" +"%!" + +#: File "src/grader/grader_jsoo_worker.ml", line 64, characters 17-71 +msgid "" +"Internal error:\n" +"The grader did not return a report." +msgstr "" +"Erreur interne:\n" +"Le moteur de notation n'a pas retourné de rapport." + +#: File "src/grader/grader_jsoo_worker.ml", line 66, characters 17-38 +msgid "Unexpected error:\n" +msgstr "Erreur inattendue:\n" + #: File "src/app/learnocaml_exercise_main.ml", line 29, characters 22-81 msgid "WARNING: You have an older grader version than the server" msgstr "" @@ -934,37 +1217,8 @@ msgstr "Aucun rapport" msgid "Status of student: " msgstr "Suivi étudiant: " -#: File "src/grader/grader_jsoo_worker.ml", line 57, characters 34-67 -msgid "" -"Error in your solution:\n" -"%a\n" -"%!" -msgstr "" -"Erreur dans votre solution:\n" -"%a\n" -"%!" - -#: File "src/grader/grader_jsoo_worker.ml", line 60, characters 34-68 -msgid "" -"Error in the exercise %s\n" -"%a\n" -"%!" -msgstr "" -"Erreur dans l'exercice %s\n" -"%a\n" -"%!" - -#: File "src/grader/grader_jsoo_worker.ml", line 64, characters 17-71 -msgid "" -"Internal error:\n" -"The grader did not return a report." -msgstr "" -"Erreur interne:\n" -"Le moteur de notation n'a pas retourné de rapport." - -#: File "src/grader/grader_jsoo_worker.ml", line 66, characters 17-38 -msgid "Unexpected error:\n" -msgstr "Erreur inattendue:\n" +#~ msgid "Download student data as CSV" +#~ msgstr "Exporter les données étudiants en CSV" #~ msgid "Fetch from server" #~ msgstr "Télécharger du serveur" @@ -1088,4 +1342,3 @@ msgstr "Erreur inattendue:\n" #~ msgid "This session has been closed. You can close this tab." #~ msgstr "La session a été fermée. Vous pouvez fermer cet onglet." -