forked from ocaml-sf/learn-ocaml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfr.po
1299 lines (1039 loc) · 44.6 KB
/
fr.po
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# LEARN-OCAML FRENCH TRANSLATION
# Copyright (C) 2019-2023 OCaml Software Foundation.
# Copyright (C) 2018 OCamlPro
# Louis Gesbert <[email protected]>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: learn-ocaml ~dev\n"
"PO-Revision-Date: 2023-10-24 16:44+0200\n"
"Last-Translator: Erik Martin-Dorel <[email protected]>\n"
"Language-Team: OCSF\n"
"Language: french\n"
"MIME-Version: 1.0\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,
#: 59-75
msgid "(minimum mark)"
msgstr "(note minimale)"
#: File "src/grader/learnocaml_report.ml", line 250, characters 55-74
msgid "Completed, %d pts"
msgstr "Terminé, %d pts"
#: File "src/grader/learnocaml_report.ml", line 254, characters 38-46 258,
#: 67-75
msgid "Failed"
msgstr "Échoué"
#: File "src/grader/learnocaml_report.ml", line 262, characters 55-75
msgid "Incomplete, %d pts"
msgstr "Incomplet, %d pts"
#: File "src/grader/learnocaml_report.ml", line 287, characters 26-43
msgid "Exercise failed"
msgstr "Exercice échoué"
#: File "src/grader/learnocaml_report.ml", line 289, characters 31-37
msgid "0 pt"
msgstr "0 pt"
#: File "src/grader/learnocaml_report.ml", line 291, characters 26-45
msgid "Exercise complete"
msgstr "Exercice terminé"
#: File "src/grader/learnocaml_report.ml", line 293, characters 49-57 297,
msgid "%d pts"
msgstr "%d pts"
#: File "src/grader/learnocaml_report.ml", line 295, characters 26-47
msgid "Exercise incomplete"
msgstr "Exercice incomplet"
#: File "src/grader/learnocaml_report.ml", line 563, characters 56-78
msgid "@[<v 2>Failure: %a@]"
msgstr "@[<v 2>Échec: %a@]"
#: File "src/grader/learnocaml_report.ml", line 564, characters 56-78
msgid "@[<v 2>Warning: %a@]"
msgstr "@[<v 2>Avertissement: %a@]"
#: File "src/grader/learnocaml_report.ml", line 566, characters 58-82
msgid "@[<v 2>Important: %a@]"
msgstr "@[<v 2>Important: %a@]"
#: File "src/grader/learnocaml_report.ml", line 567, characters 58-83
msgid "@[<v 2>Success %d: %a@]"
msgstr "@[<v 2>Réussite %d: %a@]"
#: File "src/grader/learnocaml_report.ml", line 568, characters 58-83
msgid "@[<v 2>Penalty %d: %a@]"
msgstr "@[<v 2>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 160, 30-38
#: 455, 12-20 953, 19-27 "src/app/learnocaml_index_main.ml", 737, 17-25
msgid "Cancel"
msgstr "Annuler"
#: File "src/app/learnocaml_common.ml", line 447, characters 26-41 948, 32-47
#: "src/app/learnocaml_index_main.ml", 732,
msgid "REQUEST ERROR"
msgstr "ERREUR DE REQUÊTE"
#: File "src/app/learnocaml_common.ml", line 448, characters 22-59 949, 30-67
#: "src/app/learnocaml_index_main.ml", 733, 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 451, characters 12-19 495, 13-20
#: 952, 19-26 "src/app/learnocaml_index_main.ml", 736, 17-24
msgid "Retry"
msgstr "Réessayer"
#: 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 1210, 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 643, characters 32-41
#: "src/app/learnocaml_index_main.ml", 224, 46-55
msgid "project"
msgstr "projet"
#: File "src/app/learnocaml_common.ml", line 644, characters 32-41
#: "src/app/learnocaml_index_main.ml", 225, 46-55
msgid "problem"
msgstr "problème"
#: File "src/app/learnocaml_common.ml", line 645, characters 33-43
#: "src/app/learnocaml_index_main.ml", 226, 47-57
msgid "exercise"
msgstr "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 928, 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 824, characters 41-51
#: "src/app/learnocaml_index_main.ml", 846, 30-40
msgid "Toplevel"
msgstr "Toplevel"
#: 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", 382, 28-36 397, 401, 406,
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 836, characters 37-48
#: "src/app/learnocaml_index_main.ml", 843, 29-40
#: "src/app/learnocaml_teacher_tab.ml", 375, 21-32
#: "src/app/learnocaml_exercise_main.ml", 213, 23-34
msgid "Exercises"
msgstr "Exercices"
#: File "src/app/learnocaml_common.ml", line 838, characters 38-45
#: "src/app/learnocaml_student_view.ml", 420, 68-75
msgid "Draft"
msgstr "Brouillon"
#: File "src/app/learnocaml_common.ml", line 839, characters 37-46
msgid "Subject"
msgstr "Énoncé"
#: File "src/app/learnocaml_common.ml", line 840, characters 39-47
msgid "Answer"
msgstr "Réponse"
#: File "src/app/learnocaml_common.ml", line 929, characters 22-42 979, 34-54
msgid "START FROM SCRATCH"
msgstr "TOUT RECOMMENCER"
#: File "src/app/learnocaml_common.ml", line 930, characters 16-65 980, 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 944, characters 28-45 1180,
#: "src/app/learnocaml_index_main.ml", 728,
msgid "TOKEN NOT FOUND"
msgstr "TOKEN NON TROUVÉ"
#: File "src/app/learnocaml_common.ml", line 945, characters 17-60 1181,
#: "src/app/learnocaml_index_main.ml", 729,
msgid "The entered token couldn't be recognised."
msgstr "Le token entré n'a pas été reconnu."
#: File "src/app/learnocaml_common.ml", line 963, characters 34-61 968, 25-52
msgid "Reload latest graded code"
msgstr "Reprendre le dernier code noté"
#: File "src/app/learnocaml_common.ml", line 964, 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 971, characters 34-61 976, 25-52
msgid "Reload latest saved draft"
msgstr "Reprendre le dernier code synchronisé"
#: File "src/app/learnocaml_common.ml", line 972, 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 983, characters 25-52
msgid "Reset to initial template"
msgstr "Réinitialiser le code"
#: File "src/app/learnocaml_common.ml", line 986, characters 9-17
msgid "Reload"
msgstr "Recharger"
#: File "src/app/learnocaml_common.ml", line 1012, characters 27-37
msgid "Download"
msgstr "Télécharger"
#: File "src/app/learnocaml_common.ml", line 1020, characters 22-33
msgid "Eval code"
msgstr "Exécuter le code"
#: File "src/app/learnocaml_common.ml", line 1030, characters 23-29
msgid "Sync"
msgstr "Sync"
#: File "src/app/learnocaml_common.ml", line 1099, characters 34-49 1134,
msgid "OCaml prelude"
msgstr "Prélude OCaml"
#: File "src/app/learnocaml_common.ml", line 1106, characters 59-65 1141,
msgid "Hide"
msgstr "Cacher"
#: File "src/app/learnocaml_common.ml", line 1111, characters 59-65 1148,
msgid "Show"
msgstr "Montrer"
#: File "src/app/learnocaml_common.ml", line 1171, characters 18-36
#: "src/app/learnocaml_index_main.ml", 783, 31-49
msgid "Enter your token"
msgstr "Entrez votre token"
#: File "src/app/learnocaml_common.ml", line 1216, characters 22-35
msgid "Difficulty:"
msgstr "Difficulté :"
#: File "src/app/learnocaml_common.ml", line 1230, characters 39-49
msgid "Kind: %s"
msgstr "Type : %s"
#: File "src/app/learnocaml_common.ml", line 1371, characters 46-59
msgid "Identifier:"
msgstr "Identifiant de l'exercice :"
#: File "src/app/learnocaml_common.ml", line 1375, characters 48-57
msgid "Author:"
msgstr "Auteur :"
#: File "src/app/learnocaml_common.ml", line 1376, characters 47-57
msgid "Authors:"
msgstr "Auteurs :"
#: File "src/app/learnocaml_common.ml", line 1381, characters 31-48
msgid "Skills trained:"
msgstr "Compétences pratiquées :"
#: File "src/app/learnocaml_common.ml", line 1385, characters 31-49
msgid "Skills required:"
msgstr "Compétences requises :"
#: File "src/app/learnocaml_common.ml", line 1390, characters 36-57
msgid "Previous exercises:"
msgstr "Exercices précédents :"
#: File "src/app/learnocaml_common.ml", line 1393, characters 35-52
msgid "Next exercises:"
msgstr "Exercices suivants :"
#: File "src/app/learnocaml_common.ml", line 1398, characters 26-36
msgid "Metadata"
msgstr "Métadonnées"
#: File "src/toplevel/learnocaml_toplevel.ml", line 79, characters 7-41
msgid "The toplevel has been cleared.\n"
msgstr "Le toplevel a été nettoyé.\n"
#: File "src/toplevel/learnocaml_toplevel.ml", line 303, characters 36-49
msgid "%d seconds!"
msgstr "%d secondes !"
#: File "src/toplevel/learnocaml_toplevel.ml", line 306, characters 20-30
msgid "Kill it!"
msgstr "Le terminer !"
#: File "src/toplevel/learnocaml_toplevel.ml", line 316, characters 24-40
msgid "Infinite loop?"
msgstr "Boucle infinie ?"
#: File "src/toplevel/learnocaml_toplevel.ml", line 318, characters 23-66
msgid "The toplevel has not been responding for "
msgstr "Le toplevel ne répond plus depuis "
#: File "src/toplevel/learnocaml_toplevel.ml", line 320, characters 23-34 324,
msgid " seconds."
msgstr " secondes."
#: File "src/toplevel/learnocaml_toplevel.ml", line 322, characters 23-46
msgid "It will be killed in "
msgstr "Il sera terminé dans "
#: File "src/toplevel/learnocaml_toplevel.ml", line 353, characters 20-34
msgid "Show anyway!"
msgstr "Afficher quand même !"
#: File "src/toplevel/learnocaml_toplevel.ml", line 355, characters 20-34
msgid "Hide output!"
msgstr "Masquer la sortie !"
#: File "src/toplevel/learnocaml_toplevel.ml", line 364, characters 24-41
msgid "Flooded output!"
msgstr "La sortie déborde !"
#: File "src/toplevel/learnocaml_toplevel.ml", line 367, characters 30-69
msgid "Your code is flooding the %s channel."
msgstr "Votre code submerge le canal %s."
#: File "src/toplevel/learnocaml_toplevel.ml", line 369, characters 23-48
msgid "It has already printed "
msgstr "Il a déjà affiché "
#: File "src/toplevel/learnocaml_toplevel.ml", line 371, characters 23-32
msgid " bytes."
msgstr " octets."
#: File "src/toplevel/learnocaml_toplevel.ml", line 407, characters 44-80
msgid ""
"\n"
"Interrupted output channel %s.\n"
msgstr ""
"\n"
"Canal de sortie %s interrompu.\n"
#: File "src/toplevel/learnocaml_toplevel.ml", lines 439-444, characters 5-39
msgid ""
"Printf.printf \"Welcome to OCaml %s\\n%!\" (Sys.ocaml_version);\n"
"print_endline \" - type your OCaml phrase in the box below and press [Enter]\";\n"
"print_endline \" - use [Shift-Enter] to break lines without triggering execution\";\n"
"print_endline \" - use [Ctrl-\\xe2\\x86\\x91] once to reuse the previous entry\";\n"
"print_endline \" - use [Ctrl-\\xe2\\x86\\x91] / [Ctrl-\\xe2\\x86\\x93] to navigate through history\" ;;"
msgstr ""
"Printf.printf \"Bienvenue sur OCaml %s\\n%!\" (Sys.ocaml_version);\n"
"print_endline \" - entrez une phrase OCaml dans le champ ci-dessous et appuyez sur [Entrée]\";\n"
"print_endline \" - utilisez [Maj-entrée] pour passer à la ligne sans déclencher d'exécution\";\n"
"print_endline \" - utilisez [Ctrl-\\xe2\\x86\\x91] pour retrouver votre entrée précédente\";\n"
"print_endline \" - utilisez [Ctrl-\\xe2\\x86\\x91] / [Ctrl-\\xe2\\x86\\x93] pour naviguer dans l'historique\";;"
#: File "src/toplevel/learnocaml_toplevel.ml", line 550, characters 11-43
msgid "The toplevel has been reset.\n"
msgstr "Le toplevel a été redémarré.\n"
#: File "src/app/learnocaml_index_main.ml", line 128, characters 39-47
msgid "1 star"
msgstr "1 étoile"
#: File "src/app/learnocaml_index_main.ml", line 129, characters 42-52
msgid "%d stars"
msgstr "%d étoiles"
#: File "src/app/learnocaml_index_main.ml", line 157, characters 37-57
msgid "No exercises found"
msgstr "Aucun exercice trouvé"
#: File "src/app/learnocaml_index_main.ml", line 169, characters 21-40
msgid "Loading exercises"
msgstr "Chargement des exercices"
#: File "src/app/learnocaml_index_main.ml", line 198, characters 24-41
msgid "Exercise closed"
msgstr "Exercice fermé"
#: File "src/app/learnocaml_index_main.ml", line 199, characters 39-54
msgid "Time left: %s"
msgstr "Temps restant: %s"
#: File "src/app/learnocaml_index_main.ml", line 274, characters 41-54
msgid "By category"
msgstr "Par catégorie"
#: File "src/app/learnocaml_index_main.ml", line 275, characters 35-45
msgid "By skill"
msgstr "Par compétence"
#: File "src/app/learnocaml_index_main.ml", line 276, characters 45-60
msgid "By difficulty"
msgstr "Par difficulté"
#: File "src/app/learnocaml_index_main.ml", line 311, characters 18-38
msgid "Loading playground"
msgstr "Chargement du bac-à-sable"
#: File "src/app/learnocaml_index_main.ml", line 338, characters 18-35
msgid "Loading lessons"
msgstr "Chargement des cours"
#: File "src/app/learnocaml_index_main.ml", line 371, characters 37-61
msgid "Running OCaml examples"
msgstr "Lancement des exemples d'OCaml"
#: File "src/app/learnocaml_index_main.ml", line 412, characters 39-45 602,
msgid "Prev"
msgstr "Prec."
#: File "src/app/learnocaml_index_main.ml", line 428, characters 40-46 619,
msgid "Next"
msgstr "Suiv."
#: File "src/app/learnocaml_index_main.ml", line 486, characters 18-37
msgid "Loading tutorials"
msgstr "Chargement des tutoriels"
#: File "src/app/learnocaml_index_main.ml", line 653, characters 18-35
msgid "Launching OCaml"
msgstr "Démarrage d'OCaml"
#: File "src/app/learnocaml_index_main.ml", line 667, characters 18-40
msgid "Loading student info"
msgstr "Chargement des informations sur les étudiants"
#: File "src/app/learnocaml_index_main.ml", line 687, characters 22-46
msgid "Your Learn-OCaml token"
msgstr "Votre token Learn-OCaml"
#: File "src/app/learnocaml_index_main.ml", lines 688-689, characters 18-70
msgid "Your token is displayed below. It identifies you and allows to share your workspace between devices."
msgstr "Votre token est affiché ci-dessous. Il vous identifie et permet de partager un même espace de travail entre plusieurs machines."
#: File "src/app/learnocaml_index_main.ml", line 690, characters 18-41
msgid "Please write it down."
msgstr "Notez-le !"
#: File "src/app/learnocaml_index_main.ml", line 771, characters 7-21
msgid "Connected as"
msgstr "Connecté en tant que"
#: File "src/app/learnocaml_index_main.ml", line 773, characters 7-19
msgid "Activities"
msgstr "Activités"
#: File "src/app/learnocaml_index_main.ml", line 775, characters 9-33
msgid "Welcome to Learn OCaml"
msgstr "Bienvenue sur Learn OCaml"
#: File "src/app/learnocaml_index_main.ml", line 776, characters 31-49
msgid "First connection"
msgstr "Première connexion"
#: File "src/app/learnocaml_index_main.ml", line 777, characters 36-66
msgid "New user? Create a new token"
msgstr "Vous êtes nouveau ? Obtenez un nouveau token"
#: File "src/app/learnocaml_index_main.ml", line 778, characters 38-57
msgid "Choose a nickname"
msgstr "Choisissez un identifiant"
#: File "src/app/learnocaml_index_main.ml", line 779, characters 38-46
msgid "Secret"
msgstr "Secret"
#: File "src/app/learnocaml_index_main.ml", line 780, characters 24-42
msgid "Create new token"
msgstr "Nouveau token"
#: File "src/app/learnocaml_index_main.ml", line 781, characters 24-40
msgid "Returning user"
msgstr "Utilisateur existant"
#: File "src/app/learnocaml_index_main.ml", line 782, characters 29-64
msgid "Already have a token? Click here!"
msgstr "Vous avez déjà un token ? Par ici !"
#: File "src/app/learnocaml_index_main.ml", line 784, characters 31-40
msgid "Connect"
msgstr "Se connecter"
#: File "src/app/learnocaml_index_main.ml", line 792, characters 9-19 794,
#: "src/app/learnocaml_teacher_tab.ml", 612, 22-32
msgid "Nickname"
msgstr "Pseudonyme"
#: File "src/app/learnocaml_index_main.ml", line 801, 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 830, characters 38-59
msgid "Choose an activity."
msgstr "Sélectionnez une activité."
#: File "src/app/learnocaml_index_main.ml", line 839, characters 31-42
msgid "Tutorials"
msgstr "Tutoriels"
#: File "src/app/learnocaml_index_main.ml", line 841, characters 29-38
msgid "Lessons"
msgstr "Cours"
#: File "src/app/learnocaml_index_main.ml", line 848, 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 851, characters 28-35
msgid "Teach"
msgstr "Enseignement"
#: File "src/app/learnocaml_index_main.ml", line 951, 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 953-955, 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."
msgstr "ATTENTION: l'espace de travail n'a pas pu être synchronisé avec le serveur. 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 957, characters 22-30 45-53
#: 979, 9-17
msgid "Logout"
msgstr "Déconnexion"
#: File "src/app/learnocaml_index_main.ml", line 970, characters 9-21
msgid "Show token"
msgstr "Afficher le token"
#: File "src/app/learnocaml_index_main.ml", line 973, characters 9-25
msgid "Sync workspace"
msgstr "Synchroniser"
#: File "src/app/learnocaml_index_main.ml", line 976, characters 9-25
msgid "Export to file"
msgstr "Exporter vers un fichier"
#: File "src/app/learnocaml_index_main.ml", line 977, characters 9-17
msgid "Import"
msgstr "Importer"
#: File "src/app/learnocaml_index_main.ml", line 978, characters 9-36
msgid "Download all source files"
msgstr "Télécharger tous les fichiers sources"
#: File "src/app/learnocaml_index_main.ml", line 984, characters 38-44
msgid "Menu"
msgstr "Menu"
#: 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 107-108, characters 26-42
msgid ""
"New teacher token created:\n"
"%s\n"
"\n"
"write it down."
msgstr ""
"Nouveau token prof. créé:\n"
"%s\n"
"\n"
"Notez-le !"
#: File "src/app/learnocaml_teacher_tab.ml", line 304, characters 51-57
msgid "Open"
msgstr "Ouvert"
#: File "src/app/learnocaml_teacher_tab.ml", line 305, characters 65-80
msgid "Open/Assigned"
msgstr "Ouvert/Devoir"
#: File "src/app/learnocaml_teacher_tab.ml", line 306, characters 67-77
msgid "Assigned"
msgstr "Devoir"
#: File "src/app/learnocaml_teacher_tab.ml", line 307, characters 55-63
msgid "Closed"
msgstr "Fermé"
#: File "src/app/learnocaml_teacher_tab.ml", line 308, characters 61-75
msgid "Inconsistent"
msgstr "Incohérent"
#: 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 445, characters 17-38
msgid "any future students"
msgstr "tout nouvel étudiant"
#: File "src/app/learnocaml_teacher_tab.ml", line 580, characters 21-31
msgid "Students"
msgstr "Étudiants"
#: 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 614, characters 22-29
msgid "Token"
msgstr "Token"
#: 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 618, characters 22-28
msgid "Tags"
msgstr "Tags"
#: File "src/app/learnocaml_teacher_tab.ml", line 623, characters 46-52
msgid "tags"
msgstr "tags"
#: 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 700, characters 32-46
msgid "%d exercises"
msgstr "%d exercices"
#: 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 704, characters 39-52
msgid "%d students"
msgstr "%d étudiants"
#: 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 772, characters 45-61
msgid "New assignment"
msgstr "Nouveau devoir"
#: File "src/app/learnocaml_teacher_tab.ml", line 869, characters 16-28
msgid "Open/Close"
msgstr "Ouvrir/Fermer"
#: File "src/app/learnocaml_teacher_tab.ml", line 875, characters 47-64
msgid "required skills"
msgstr "comp. requises"
#: File "src/app/learnocaml_teacher_tab.ml", line 879, characters 47-63
msgid "trained skills"
msgstr "comp. travaillées"
#: File "src/app/learnocaml_teacher_tab.ml", line 888, characters 17-30
msgid "Assignments"
msgstr "Devoirs"
#: File "src/app/learnocaml_teacher_tab.ml", line 978, characters 18-25
msgid "Apply"
msgstr "Appliquer"
#: File "src/app/learnocaml_teacher_tab.ml", line 979, characters 54-63
msgid "Actions"
msgstr "Actions"
#: File "src/app/learnocaml_teacher_tab.ml", line 982, characters 23-49
msgid "Create new teacher token"
msgstr "Créer un nouveau token enseignant"
#: File "src/app/learnocaml_teacher_tab.ml", line 984, 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 1159, characters 55-72
msgid "Unsaved changes"
msgstr "Modifications non sauvegardé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_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**<br/>\n"
" Use the 🔍 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**<br/>\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 for 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**<br/>\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 ⌘) 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**<br/>\n"
" Use the 🔍 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**<br/>\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 for 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**<br/>\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 ⌘) 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**<br/>\n"
" Use the 🔍 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**<br/>\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**<br/>\n"
" Use the 🔍 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**<br/>\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_teacher_tab_doc.ml", line 88, characters 5-27
msgid "Handling assignments"
msgstr "Gestion des devoirs"
#: 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/grader/grading.ml", line 16, characters 28-67
msgid ""
"Exercise definition error %s:\n"
"%a\n"
"%!"
msgstr ""
"Erreur dans la définition de l'exercice %s:\n"
"%a\n"
"%!"
#: File "src/grader/grading.ml", line 22, characters 26-57
msgid ""
"Error in user code:\n"
"\n"
"%a\n"
"%!"
msgstr ""
"Erreur dans le code:\n"
"\n"
"%a\n"
"%!"
#: File "src/grader/grading.ml", line 25, characters 9-32
msgid "The grader is invalid"
msgstr "Le moteur de notation est invalide"
#: File "src/grader/grading.ml", line 115, characters 22-55
msgid "Preparing the test environment."
msgstr "Préparation de l'environnement de test."
#: File "src/grader/grading.ml", line 119, characters 38-65 125, 128, 131, 134,
#: 168, 175, 181,
msgid "while preparing the tests"
msgstr "lors de la préparation des tests"
#: File "src/grader/grading.ml", line 138, characters 22-42
msgid "Loading your code."
msgstr "Chargement du code utilisateur."
#: File "src/grader/grading.ml", line 145, characters 22-54