-
Notifications
You must be signed in to change notification settings - Fork 7
/
en.json
2119 lines (2119 loc) · 191 KB
/
en.json
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
{
"app.EditLimitsForm.cloneAll.yesNoQuestion": "Do you really want to use these limits for all the tests of all runtime environments? Please note, that individual environments have different performance characteristics.",
"app.EditLimitsForm.cloneHorizontal.yesNoQuestion": "Do you really want to use these limits for all runtime environments of this test? Please note, that individual environments have different performance characteristics.",
"app.EditLimitsForm.validation.NaN": "Given value is not a number.",
"app.EditLimitsForm.validation.outOfRange": "Given value is out of range. See HW group constraints for details.",
"app.ExercisePrefixIcons.archivedAt": "Archived at {archivedAt}.",
"app.ExercisePrefixIcons.isLocked": "Exercise is locked by the author and cannot be assigned.",
"app.ExercisePrefixIcons.isPrivate": "Exercise is private (visible only to author).",
"app.acceptGroupInvitation.acceptAndJoin": "Accept invitation and join the group",
"app.acceptGroupInvitation.alreadyMember": "You are already a member of the corresponding group.",
"app.acceptGroupInvitation.expireAt": "Invitation expires at",
"app.acceptGroupInvitation.expired": "The invitation link has expired.",
"app.acceptGroupInvitation.failed": "Joining the group failed. Please verify the invitation data and try again.",
"app.acceptGroupInvitation.groupAdmins": "Group administrators",
"app.acceptGroupInvitation.invalidToken": "The invitation link is not valid! Either you used a corrupted link or the invitation was removed.",
"app.acceptGroupInvitation.mustBeStudent": "The invitation links are available only to students, supervisors may not use them.",
"app.acceptGroupInvitation.note": "Invitation note",
"app.acceptGroupInvitation.title": "Accept Group Invitation",
"app.acceptInvitation.badInvalidToken": "The invitation token cannot be decoded! The link you used was probably corrupted.",
"app.acceptInvitation.expireAt": "Token will expire at",
"app.acceptInvitation.invalidToken": "The invitation token is not valid!",
"app.acceptInvitation.invitationCreated": "Invitation created",
"app.acceptInvitation.invitationDetails": "Invitation details",
"app.acceptInvitation.title": "Accept Invitation",
"app.acceptInvitation.userName": "Invited person",
"app.acceptInvitation.welcome": "Congratulations, you have been invited to ReCodEx! You can create a local account by completing the registration process below. Your profile information are already filled in and cannot be changed. You only need to set a password for your new account.",
"app.addExerciseTagForm.submit": "Add Tag",
"app.addExerciseTagForm.submitting": "Adding...",
"app.addExerciseTagForm.success": "Tag Added",
"app.addExerciseTagForm.validation.alreadyAssigned": "Given tag is already assigned to the exercise.",
"app.addExerciseTagForm.validation.invalidCharacters": "The tag name contains invalid characters. Only alphanumeric letters, dash and underscore are allowed.",
"app.addExerciseTagForm.validation.tooLong": "The tag name is too long.",
"app.addExerciseTagForm.validation.tooShort": "The tag name is too short.",
"app.addExerciseTagForm.warnings.newTag": "You have specified a new tag, which has not been used in any exercise yet. Make sure that there is not a typo in your tag and there is no other tag with the same meaning but different key word.",
"app.addExerciseTagForm.warnings.tooLong": "The tag name is rather long.",
"app.addExerciseTagForm.warnings.tooShort": "The tag name is rather short.",
"app.addLicence.addLicenceTitle": "Add New Licence",
"app.addLicence.failed": "Cannot add the licence.",
"app.addLicence.note": "Note:",
"app.addLicence.processing": "Adding...",
"app.addLicence.set": "Add licence",
"app.addLicence.success": "Licence was added.",
"app.addLicence.validUntil": "Valid until:",
"app.addLicence.validation.note": "Note cannot be empty.",
"app.addLicence.validation.validUntilEmpty": "The expiration date of the valid period of the licence must be set.",
"app.addLicence.validation.validUntilInThePast": "The expiration date of the valid period of the licence must be in the future.",
"app.addSisTermForm.failed": "Cannot save the new SIS term.",
"app.addSisTermForm.processing": "Saving...",
"app.addSisTermForm.submit": "Save new term",
"app.addSisTermForm.success": "The term is saved.",
"app.addSisTermForm.summer": "Summer term",
"app.addSisTermForm.term": "Term:",
"app.addSisTermForm.title": "Add new term",
"app.addSisTermForm.winter": "Winter term",
"app.addSisTermForm.year": "Year:",
"app.addStudent.cannotSearch": "You do not have permissions to search students, so you cannot add them explicitly.",
"app.addStudent.inviteButton": "Invite to Register",
"app.addStudent.inviteDialog.explain": "An invitation will be sent to the user at given email address. The user will receive a link for registration as a local user. User profile details (name and email) must be filled in correctly, since the user will not be able to modify them. Optionally, you may select a list of groups to which the user will be assigned immediately after registration.",
"app.addStudent.inviteDialog.title": "Send invitation to ReCodEx",
"app.addUserContainer.emptyQuery": "No results. Enter a search query...",
"app.allowUserButton.confirmAllow": "The user may have been disabled for a reason. Do you really wish to enable the account?",
"app.allowUserButton.confirmDisallow": "If you disable the account, the user will not be able to perform any operation nor access any data. Do you wish to disable it?",
"app.apiErrorCodes.400-001": "The user has multiple e-mail addresses and multiple matching accounts already exist. Accounts cannot be associated due to ambiguity.",
"app.apiErrorCodes.400-003": "Uploaded file name contains invalid characters.",
"app.apiErrorCodes.400-004": "Uploaded file size does not meet server limitations.",
"app.apiErrorCodes.400-010": "The data were modified by someone else while you were editing them (a newer version exist). The update was aborted to prevent accidental overwrite of recent modifications.",
"app.apiErrorCodes.400-101": "The credentials are not valid.",
"app.apiErrorCodes.400-104": "User was correctly authenticated, but there is no corresponding account in ReCodEx.",
"app.apiErrorCodes.400-105": "Attempt to register a new user failed since external authenticator did not provide a role. The external user identity may not have required attributes.",
"app.apiErrorCodes.400-106": "The user is already registered.",
"app.apiErrorCodes.403-001": "The user account does not exist.",
"app.apiErrorCodes.403-002": "The user account has been disabled.",
"app.apiErrorCodes.409_100": "The user data received from the CAS contain no affiliation attributes that would match current registration policies.",
"app.apiErrorCodes.409_101": "The user attributes received from the CAS do not contain an email address, which is required.",
"app.apiErrorCodes.409_102": "The user attributes received from the CAS are incomplete.",
"app.apiErrorCodes.500-000": "Unexpected internal error.",
"app.apiErrorCodes.unknown": "Unknown API error.",
"app.archive.archivedGroups": "All Groups Including The Archived Ones",
"app.archive.title": "List of Old Archived Groups",
"app.archiveExerciseButton.set": "Archive the Exercise",
"app.archiveExerciseButton.unset": "Excavate from Archive",
"app.archiveGroupButton.set": "Archive this Group",
"app.archiveGroupButton.setShort": "Archive",
"app.archiveGroupButton.unset": "Excavate from Archive",
"app.archiveGroupButton.unsetShort": "Excavate",
"app.archiveSisTerm.archiveGroups": "Archive Groups",
"app.archiveSisTerm.archived": "Archived",
"app.archiveSisTerm.archiving": "Archiving...",
"app.archiveSisTerm.failed": "Archivation failed. Some of the groups may not have been archived.",
"app.archiveSisTerm.noGroups": "There are no groups associated with this semester. Perhaps they have all been archived already.",
"app.archiveSisTerm.noGroupsSelected": "At least one group needs to be selected.",
"app.archiveSisTerm.title": "Archive Groups of SIS Term",
"app.assignExerciseButton.isBroken": "Broken",
"app.assignExerciseButton.isLocked": "Locked",
"app.assignExerciseButton.noRefSolutions": "Unproven",
"app.assignemntStatusIcon.failed": "No correct solution was submitted yet.",
"app.assignemntStatusIcon.inProgress": "Assignment solution is being evaluated.",
"app.assignemntStatusIcon.isBestSolution": "This is the best solution of the author submitted so far.",
"app.assignemntStatusIcon.ok": "Assignment is successfully completed.",
"app.assignemntStatusIcon.solutionMissingSubmission": "The solution was not submitted for evaluation probably due to an error. You may need to resubmit it.",
"app.assignment.assignedAtExplanation": "The time of assignment creation. Note that the assignment may have been made visible to students at different time.",
"app.assignment.corectnessThreshold": "Correctness threshold",
"app.assignment.corectnessThresholdExplanation": "Minimal correctness of solutions required for awardnig any points. Solutions below this threshold are granted no points.",
"app.assignment.currentMaxPointsNote": "({currentPointsLimit} at the moment)",
"app.assignment.deadline": "Deadline",
"app.assignment.deadlineExplanation": "Student submissions made after the deadline are evaluated, but awarded no points.",
"app.assignment.deadlines": "Deadlines",
"app.assignment.deadlinesExplanation": "Solutions submitted before the first deadline are considered to be on time and graded with full points. Submissions made between the deadlines are considered to be late but still worth some points. Submissions made after the second deadline are evaluated, but awarded no points. Open the graph to see in detail how the deadlines affect the awarded points.",
"app.assignment.deadlinesGraphButton": "Show Graph",
"app.assignment.deadlinesGraphDialog.title": "Visualization of points limits and corresponding deadlines",
"app.assignment.downloadBestSolutionsArchive": "Download Bests",
"app.assignment.error": "Exercise assignment could not be loaded.",
"app.assignment.errorExplanation": "The assignment of this exercise could not be loaded. Make sure you are connected to the Internet and try again later.",
"app.assignment.exerciseDeleted": "Corresponding exercise has been deleted.",
"app.assignment.exerciseDeletedInfo": "The assignment may no longer be synchronized with the exercise and no more assignments of this exercise may be created.",
"app.assignment.isBonus": "Bonus assignment",
"app.assignment.loading": "Loading exercise assignment...",
"app.assignment.maxPoints": "Points limit",
"app.assignment.maxPointsExplanation": "The amount of points awarded to completely correct solutions submitted before deadline. Solutions with lower correctness are granted relative portion of these points.",
"app.assignment.maxPointsFirstTooltip": "Points awarded before the first deadline",
"app.assignment.maxPointsInterpolationTooltip": "Points between the deadlines are linearly changing towards the second limit",
"app.assignment.maxPointsSecondTooltip": "Points awarded after the first and before the second deadline",
"app.assignment.maxPointsTwoLimits": "Points limits",
"app.assignment.maxPointsTwoLimitsExplanation": "The actual limit is determined by the time of submission (i.e., whether it was before the first deadline or between the deadlines). The points limit applies to completely correct solutions, solutions with lower correctness are granted relative portion of these points.",
"app.assignment.runtimeEnvironmentsExplanation": "Allowed runtime environments (i.e., programming languages) that can be used for creating solutions. If multiple environments are allowed, the solution must choose only one (it is not possible to create crossover solutions).",
"app.assignment.runtimeEnvironmentsIds": "Allowed environments",
"app.assignment.solutionFilesLimit": "Solution file restrictions",
"app.assignment.solutionFilesLimitCount": "{count} {count, plural, one {file} other {files}}",
"app.assignment.solutionFilesLimitExplanation": "The restrictions may limit maximal number of submitted files and their total size.",
"app.assignment.solutionFilesLimitSize": "{size} KiB {count, plural, one {} other {total}}",
"app.assignment.submissionCountLimitIncreasedByDeletion": "+{count} {count, plural, one {attempt} other {attempts}} added by deleted solutions",
"app.assignment.submissionCounterDecreasedByNotEvaluated": "Failed and not evaluated submissions are not counted when restricting submission attempts.",
"app.assignment.submissionsCountLimit": "Submission attempts",
"app.assignment.submissionsCountLimitExplanation": "Maximal number of solutions logged by one student for this assignment. The teacher may choose to grant additional attempts by deleting old solutions.",
"app.assignment.syncAttachmentFiles": "Text attachment files",
"app.assignment.syncButton": "Update Assignment",
"app.assignment.syncButton.exerciseBroken": "The update button is disabled since the exercise is broken. The exercise configuration must be mended first.",
"app.assignment.syncConfigurationType": "Configuration was switched to advanced mode",
"app.assignment.syncDescription": "The following sections were updated:",
"app.assignment.syncExerciseConfig": "Exercise configuration",
"app.assignment.syncExerciseEnvironmentConfigs": "Environment configuration",
"app.assignment.syncExerciseTests": "Exercise tests",
"app.assignment.syncHardwareGroups": "Hardware groups",
"app.assignment.syncIsNotPossible": "The exercise is not in a consistent state, synchronization is not possible at the moment.",
"app.assignment.syncLimits": "Limits",
"app.assignment.syncLocalizedTexts": "Localized texts",
"app.assignment.syncMergeJudgeLogs": "Judge logs merge flag",
"app.assignment.syncRequired": "Exercise was updated at <strong>{exerciseUpdated}</strong>, but the assignment was synchronized with the exercise at <strong>{assignmentUpdated}</strong>!",
"app.assignment.syncRequiredTitle": "The exercise data are newer than assignment data",
"app.assignment.syncRuntimeEnvironments": "Selection of runtime environments",
"app.assignment.syncScoreConfig": "Score configuration",
"app.assignment.syncSupplementaryFiles": "Supplementary files",
"app.assignment.title": "Assignment Detail",
"app.assignment.visible": "Visible to students",
"app.assignment.visibleFrom": "Visible from",
"app.assignmentSolutions.allUserSolutions": "all user solutions",
"app.assignmentSolutions.assignmentSolutions": "Assignment Solutions",
"app.assignmentSolutions.noSolutions": "There are currently no submitted solutions.",
"app.assignmentSolutions.pendingReviews": "There {count, plural, one {is} other {are}} {count} pending {count, plural, one {review} other {reviews}} among the solutions of the selected assignment. Remember that the review comments are visible to the author after a review is closed.",
"app.assignmentSolutions.plagiarismsDetected.assignments": "There {count, plural, one {is} other {are}} {count} {count, plural, one {solution} other {solutions}} (of {assignments} {assignments, plural, one {assignment} other {assignments}}) with detected similarities. Such solutions may be plagiarisms.",
"app.assignmentSolutions.plagiarismsDetected.authors": "There {count, plural, one {is} other {are}} {count} {count, plural, one {solution} other {solutions}} (from {authors} {authors, plural, one {author} other {unique authors}}) with detected similarities. Such solutions may be plagiarisms.",
"app.assignmentSolutions.title": "All Submissions of The Assignment",
"app.assignmentSolutions.viewModes.accepted": "Accepted solutions only",
"app.assignmentSolutions.viewModes.best": "Best solutions only",
"app.assignmentSolutions.viewModes.default": "All solutions (default)",
"app.assignmentSolutions.viewModes.grouped": "Grouped by users",
"app.assignmentSolutions.viewModes.last": "Latest solutions only",
"app.assignmentSolutions.viewModes.plagiarism": "Only plagiarism suspects",
"app.assignmentSolutions.viewModes.reviewed": "Reviewed solutions only",
"app.assignmentSolutions.viewModesTitle": "Select solutions view filter",
"app.assignments.deadline": "Deadline",
"app.assignments.deleteAllButton": "Delete",
"app.assignments.deleteAllButtonConfirm": "Do you really wish to remove all selected assignments?",
"app.assignments.discussionModal.additionalSwitchNote": "(supervisors and students of this group)",
"app.assignments.discussionModalTitle": "Public Discussion",
"app.assignments.group": "Assigned in group",
"app.assignments.hideAllButton": "Set Hidden",
"app.assignments.hidePastAssignments": "Total {count} {count, plural, one {assignment} other {assignments}} {count, plural, one {is past its} other {are past their}} deadline. <a>Hide old assignments.</a>",
"app.assignments.invertSelection": "Invert",
"app.assignments.lockedSubmissions.reason": "Reason",
"app.assignments.lockedSubmissions.title": "Submissions are currently locked out",
"app.assignments.maxPoints": "Max. Points",
"app.assignments.maxPointsShort": "Max. points",
"app.assignments.name": "Assignment name",
"app.assignments.points": "Points",
"app.assignments.secondDeadline": "Second deadline",
"app.assignments.selectAll": "Select All",
"app.assignments.showAllButton": "Set Visible",
"app.assignments.showHiddenPastAssignments": "There {count, plural, one {is} other {are}} {count} hidden {count, plural, one {assignment} other {assignments}} which {count, plural, one {is past its} other {are past their}} deadline. <a>Show all.</a>",
"app.assignments.syncAllButton": "Sync with Exercise",
"app.assignmentsTable.noAssignments": "There are no assignments yet.",
"app.assignmentsTable.noAssignmentsInAnyGroup": "This exercise has no assigments in any of the groups you can see.",
"app.assignmentsTableRow.loading": "Loading assignments...",
"app.asyncJobs.abort": "Abort background job",
"app.asyncJobs.list.abortConfirm": "Do you really wish to abort selected background job?",
"app.asyncJobs.list.args": "Command arguments",
"app.asyncJobs.list.associatedAssignment": "Associated assignment",
"app.asyncJobs.list.command": "Command",
"app.asyncJobs.list.noJobs": "No background jobs have been enqueued recently...",
"app.asyncJobs.list.processInfo": "Processing info",
"app.asyncJobs.list.retries": "Retries",
"app.asyncJobs.list.title": "Recent Jobs",
"app.asyncJobs.list.worker": "Worker",
"app.asyncJobs.ping": "Ping Worker",
"app.asyncJobs.title": "Core Background Jobs",
"app.attachmentFiles.deleteConfirm": "Are you sure you want to delete the file? This cannot be undone.",
"app.attachmentFilesTable.description": "Attached files are files which can be used within exercise description using links provided below. Attached files can be viewed or downloaded by students.",
"app.attachmentFilesTable.title": "Attached files",
"app.attachmentFilesTable.url": "URL",
"app.badge.effectiveRoleDialog.title": "Change Effective Role",
"app.badge.failedLoading": "Failed to load the data",
"app.badge.failedLoadingInfo": "Please check your Internet connection.",
"app.badge.sessionExpiration": "Session expiration:",
"app.box.highlighterExplanation": "This box is highlighted. Click to restore.",
"app.broker.confirmFreeze": "Are you sure you want to freeze broker? Broker will not longer accept evaluation requests!",
"app.broker.confirmUnfreeze": "Are you sure you want to unfreeze broker?",
"app.broker.freeze": "Freeze",
"app.broker.stats": "Current Statistics",
"app.broker.title": "ZeroMQ Broker",
"app.broker.unfreeze": "Unfreeze",
"app.calendarTokens.activate": "Activate calendar",
"app.calendarTokens.expiredAt": "Expired at",
"app.calendarTokens.explain": "ReCodEx API can feed iCal data to your calendar. It will export deadline events for all assignments in all groups related to you. Anyone with the iCal identifier will be able to read the calendar and the calendar is read-only. When activated, you will get a calendar URL in the following format.",
"app.calendarTokens.id": "Existing iCal identifiers",
"app.calendarTokens.refresh": "Expire old and create a new one",
"app.calendarTokens.setExpired": "Set expired",
"app.calendarTokens.setExpiredFailed": "operation failed",
"app.changePassword.description": "You can change your forgotten password in this form",
"app.changePassword.requestAnotherLink": "Please request (another) link with an unique token.",
"app.changePassword.title": "Change Forgotten Password",
"app.changePassword.tokenExpired": "You cannot reset your password now - your token has probably expired or the URL is broken.",
"app.changePassword.tokenExpiresIn": "Token expires:",
"app.changePasswordForm.changePassword": "Change Password",
"app.changePasswordForm.changning": "Changing...",
"app.changePasswordForm.createPassword": "Create Password",
"app.changePasswordForm.email": "Email:",
"app.changePasswordForm.failed": "Password update failed.",
"app.changePasswordForm.oldPassword": "Old Password:",
"app.changePasswordForm.password": "New Password:",
"app.changePasswordForm.passwordCheck": "New Password (again):",
"app.changePasswordForm.passwordStrength": "Password Strength:",
"app.changePasswordForm.setting": "Setting...",
"app.changePasswordForm.succeeded": "You can now log in with your new password.",
"app.changePasswordForm.success": "Password has been changed.",
"app.changePasswordForm.successFirstTime": "Password has been set.",
"app.changePasswordForm.title": "Change your ReCodEx password",
"app.changePasswordForm.titleFirstTime": "Set your ReCodEx password",
"app.changePasswordForm.validation.emptyPassword": "Password cannot be empty.",
"app.changePasswordForm.validation.passwordTooWeak": "The password you chose is too weak, please choose a different one.",
"app.changePasswordForm.validation.passwordsDontMatch": "Passwords do not match.",
"app.comments.addComment": "Send",
"app.comments.commentPlaceholder": "Your comment...",
"app.comments.everyoneCanSeeThisComment": "This comment is visible to everyone who can see this thread.",
"app.comments.loadingCommentThread": "Loading comments...",
"app.comments.noCommentsYet": "There are no comments in this thread yet.",
"app.comments.onlyYouCanSeeThisComment": "Only you can see this comment",
"app.comments.publishing": "Publishing...",
"app.comments.publishingFailed": "Publishing Failed",
"app.comments.title": "Comments and Notes",
"app.comments.warnings.isPrivate": "This will be a private comment visible only to you.",
"app.comments.warnings.isPublic": "This will be a public comment visible to everyone who can see this thread.",
"app.confirm.no": "No",
"app.confirm.yes": "Yes",
"app.createExerciseForm.selectGroupFirst": "... select group of residence first ...",
"app.createExerciseForm.title": "Create New Exercise",
"app.createExerciseForm.validation.noGroupSelected": "No group of residence has been selected.",
"app.createGroup.detaining": "Detaining students (only supervisor can remove them)",
"app.createGroup.externalId": "External ID of the group (helps create bindings to external data sources):",
"app.createGroup.hasThreshold": "Students require cetrain number of points to complete the course",
"app.createGroup.isOrganizational": "Organizational (for structural purposes only)",
"app.createGroup.isPublic": "Public (everyone can see and join this group)",
"app.createGroup.makeMeAdmin": "Make me a group admin",
"app.createGroup.publicStats": "Students can see statistics of each other",
"app.createGroup.threshold": "Minimum percent of the total points count needed to complete the course:",
"app.createUserForm.validation.emailTaken": "This email address is already taken by someone else.",
"app.createUserForm.validation.emptyPassword": "The password cannot be empty.",
"app.dashboard.memberOf": "Groups you are a member of",
"app.dashboard.sisGroupsStudent": "Join Groups Associated with UK SIS Courses",
"app.dashboard.sisGroupsStudentExplain": "SIS courses you are enrolled to in particular semesters and which have correspondig groups in ReCodEx.",
"app.dashboard.studentNoGroups": "You are not a member of any group yet. A group supervisor may add you into his/her group, or you can use other mechanisms (like the dialog on the SIS integration page) to join some groups that apply to you.",
"app.dashboard.studentNoGroupsTitle": "No Group Memberships",
"app.dashboard.supervisorNoGroups": "You are currently not supervising any groups. An administrator may create a group for you or you can use other mechanisms (like the dialog on the SIS integration page) to create groups for your students.",
"app.dashboard.supervisorNoGroupsTitle": "No Groups",
"app.dashboard.supervisorOf": "Groups managed by you (as admin or supervisor)",
"app.dashboard.title": "Dashboard — a Complete Overview",
"app.deadlineValidation.deadlineInFarFuture": "The deadline is too far in the future. At present, the furthest possible deadline is {deadlineFutureLimit, date} {deadlineFutureLimit, time, short}.",
"app.deadlineValidation.emptyDeadline": "Please fill the date and time of the deadline.",
"app.deadlineValidation.invalidDateTime": "Invalid date or time format.",
"app.deadlineValidation.secondDeadlineBeforeFirstDeadline": "The second deadline is before the first deadline. Please set the second deadline after {firstDeadline, date} {firstDeadline, time, short}.",
"app.deleteButton.confirm": "Are you sure you want to delete this item? The operation cannot be undone.",
"app.editAssignment.deleteAssignment": "Delete the assignment",
"app.editAssignment.deleteAssignmentWarning": "Deleting an assignment will remove all the students submissions and you will have to contact the administrator of ReCodEx if you wanted to restore the assignment in the future.",
"app.editAssignment.title": "Edit Assignment Settings",
"app.editAssignment.validation.versionDiffers": "Somebody has changed the assignment while you have been editing it. Please reload the page and apply your changes once more.",
"app.editAssignmentForm.canViewJudgeLogs": "Visibility of judge logs",
"app.editAssignmentForm.canViewJudgeLogsExplanation": "If set, judge logs are visible to students. Please note that publishing the logs also provides means for the students to access the inputs which may not be desriable for some categories of exercises.",
"app.editAssignmentForm.canViewJudgeStderr": "Visibility of secondary logs",
"app.editAssignmentForm.canViewJudgeStderrExplanation": "If set, judge secondary logs (stderr) are visible to students. Please note that publishing the logs also provides means for the students to access the inputs which may not be desriable for some categories of exercises.",
"app.editAssignmentForm.canViewJudgeStdout": "Visibility of primary logs",
"app.editAssignmentForm.canViewJudgeStdoutExplanation": "If set, judge primary logs (stdout) are visible to students. Please note that publishing the logs also provides means for the students to access the inputs which may not be desriable for some categories of exercises.",
"app.editAssignmentForm.canViewLimitRatios": "Visibility of memory and time",
"app.editAssignmentForm.canViewLimitRatiosExplanation": "Whether the students can see the measured execution time and consumed memory of their solutions. The measurements are displayed relatively to the established limits, so the students do not see the absolute values but only a percentage.",
"app.editAssignmentForm.deadlines.dual": "Dual deadlines",
"app.editAssignmentForm.deadlines.dual.explanation": "The assignment has two deadlines and two max. points limits. Solutions submitted before the first deadline are awarded points up to the first limit, solutions between the two deadlines are awarded points up to the second limit. No points are granted for solutions after the second deadline.",
"app.editAssignmentForm.deadlines.interpolated": "Dual deadlines interpolated",
"app.editAssignmentForm.deadlines.single": "Single deadline",
"app.editAssignmentForm.deadlines.single.explanation": "The assignment has only one deadline. Solutions submitted before the deadline are awarded up to given max. points, solutions submitted after the deadline are granted no points.",
"app.editAssignmentForm.deadlines.single.interpolated": "The assignment has two deadlines and two max. points limits. Solutions submitted before the first deadline are awarded points up to the first limit. The points limit for the solutions between the two deadlines is computed by linear interpolation between the two point limits. No points are granted for solutions after the second deadline.",
"app.editAssignmentForm.deadlinesGraphDialog.button": "Deadlines Graph",
"app.editAssignmentForm.enabledEnvironments": "Enabled Runtime Environments",
"app.editAssignmentForm.firstDeadline": "First deadline:",
"app.editAssignmentForm.firstDeadlineExplanation": "Students are expected to submit the solution before this deadline to receive full points. Solutions submitted after the first deadline receive lower amount of points.",
"app.editAssignmentForm.interpolationDialog.explanationText": "This helper allows you to set the second deadline and associated second points limit using decrease interval. The interval represents relative amount of time in which the actual points limit changes by one towards the second limit. For example, if you wish to penalize late submission by removing 1 point for every hour of delay, simply set the interval to 1:00 and let this helper calculate the exact second deadline.",
"app.editAssignmentForm.interpolationDialog.intervalInvalid": "The interval input is not valid. The interval must be in d h:mm or h:mm format.",
"app.editAssignmentForm.interpolationDialog.intervalLabel": "Update interval:",
"app.editAssignmentForm.interpolationDialog.title": "Points Interpolation Helper",
"app.editAssignmentForm.isBonus": "Assignment is bonus one and points from it are not included in students overall score",
"app.editAssignmentForm.isExam": "Exam assignment",
"app.editAssignmentForm.isExamExplanation": "Exam assignments are secured during examination periods so that they are not visible to students that have not yet lock themselves in the group. Furthermore, if an exam assignment has the deadline synced with the end of the exam, it is updated automatically when the end of exam changes.",
"app.editAssignmentForm.localized.assignmentSyncInfo": "Please note that the localized texts (name and complete description) are overwritten by the most recent data from the exercise when update of the assignment is invoked (if the exercise has been modified after the assignment). The only exception is the hint for students which is associated only with the assignment.",
"app.editAssignmentForm.localized.completeDescription": "Complete description (everything the user needs to solve this exercise):",
"app.editAssignmentForm.localized.description": "Short description (visible only to supervisors):",
"app.editAssignmentForm.localized.link": "Link to an external complete description:",
"app.editAssignmentForm.localized.studentHint": "A hint for students (not synchronized with exercise):",
"app.editAssignmentForm.localized.urlValidation": "Given string is not a valid URL.",
"app.editAssignmentForm.maxPoints": "Points limit:",
"app.editAssignmentForm.maxPointsBeforeDeadline": "Points limit ({deadline}):",
"app.editAssignmentForm.maxPointsExplanation": "Maximal amount of points received for 100% correct solution submitted before the deadline.",
"app.editAssignmentForm.maxPointsInterpolationLimit": "Interpolate points to:",
"app.editAssignmentForm.maxPointsInterpolationLimitExplanation": "The actual points limit between the first and the second deadline is interpolated linearly from the first points limit to this limit.",
"app.editAssignmentForm.maxPointsSecondDeadlineExplanation": "Maximal amount of points received for 100% correct solution submitted after the first, but before the second deadline.",
"app.editAssignmentForm.onlyDeadline": "Deadline:",
"app.editAssignmentForm.onlyDeadlineExplanation": "Students are expected to submit the solution before this deadline to receive any points. Solutions submitted after the deadline are still evaluated, but they receive no points.",
"app.editAssignmentForm.pointsPercentualThreshold": "Minimal required correctness [%]:",
"app.editAssignmentForm.pointsPercentualThresholdExplanation": "Minimal solution correctness (expressed in percents) that is required for regular scoring. Solutions below this threshold always gets zero points.",
"app.editAssignmentForm.secondDeadline": "Second deadline:",
"app.editAssignmentForm.secondDeadlineExplanation": "Second deadline is for late solutions which are still awarded some points. Solutions submitted after the second deadline are granted no poionts.",
"app.editAssignmentForm.sendNotification": "Send e-mail notification to students about new assignment",
"app.editAssignmentForm.sendNotificationInFutureExplain": "The e-mail will be sent right after the assignment will actually become visible to students.",
"app.editAssignmentForm.submissionsCountLimit": "Submissions count limit:",
"app.editAssignmentForm.submissionsCountLimitExplanation": "Maximal number of solutions a student may have at any given time. A student is not able to submit more solutions once the limit is reached. However, the supervisor may delete existing solutions to increase the number of submission attempts individually.",
"app.editAssignmentForm.title": "Edit Assignment — {name}",
"app.editAssignmentForm.validation.allRuntimesDisabled": "You cannot disable all available runtime environments.",
"app.editAssignmentForm.validation.emptyGroups": "Please select one or more groups to assign exercise.",
"app.editAssignmentForm.validation.emptyName": "Please fill the name of the assignment.",
"app.editAssignmentForm.validation.localizedText.text": "Please fill the description or provide an external link below.",
"app.editAssignmentForm.visibility.hidden": "Hidden (not visible to students)",
"app.editAssignmentForm.visibility.visible": "Visible to students",
"app.editAssignmentForm.visibility.visibleFrom": "Become visible on exact date",
"app.editAssignmentForm.visibleFrom": "Publish date:",
"app.editAssignmentForm.warnings.chooseFirstDeadlineBeforeSecondDeadline": "You must select the date of the first deadline before selecting the date of the second deadline.",
"app.editAssignmentForm.warnings.interpolationGoesToZero": "The limit will reach zero before the second deadline (see the graph for details).",
"app.editAssignmentForm.warnings.pointsAreTheSame": "Both points limits are the same, so there is no need for dual-deadline setup.",
"app.editAssignmentForm.warnings.secondLimitIsGreaterThanFirstLimit": "The limit is greater than the first limit which is quite unusal.",
"app.editAssignmentForm.warnings.secondLimitIsZero": "The limit is zero, so there is no need for dual-deadline setup.",
"app.editAssignmentForm.warninigs.alreadyAssigned": "The exercise has been already assigned in this group.",
"app.editAssignmentForm.warninigs.alreadyAssignedGlobal": "The exercise has been already assigned in some of the selected groups. It will be assigned again.",
"app.editAssignmentForm.warninigs.canViewJudgeLogs": "Allowing the students to see judge logs has its security risks. In case of simple exercises, the students may use this channel to retrieve the test inputs and expected outputs and design a trivial solution which embeds the correct outputs directly into the source code. Use this option wisely.",
"app.editEnvironmentConfig.duplicateVariable": "Duplicate variable name.",
"app.editEnvironmentConfig.noRuntimeSelected": "There must be a runtime environment selected before you can proceed with exercise configuration.",
"app.editEnvironmentConfig.noVariables": "There are no variables yet...",
"app.editEnvironmentConfig.selectedRuntime": "Selected Runtime Environment:",
"app.editEnvironmentConfig.selectedRuntimeInfo": "In the advanced configuration, selected runtime environment is used only to ensure that the backend worker has necessary compilers, tools, or libraries required by the environment. Everything else (source files patterns, pipelines) is configured separately.",
"app.editEnvironmentConfig.setDefaultVariables": "Set Default Variables",
"app.editEnvironmentConfig.title": "Runtime Environment Configuration",
"app.editEnvironmentConfig.tooltip.add": "Add another variable.",
"app.editEnvironmentConfig.tooltip.remove": "Remove this variable.",
"app.editEnvironmentConfig.validateEnvironment": "A runtime environment must be selected.",
"app.editEnvironmentConfig.validateName": "This is not a valid variable name.",
"app.editEnvironmentConfig.validateWildcard": "This value is not a valid file name or wildcard.",
"app.editEnvironmentConfig.variableName": "Source Files Variable",
"app.editEnvironmentConfig.variableType": "Type",
"app.editEnvironmentConfig.variableValue": "Wildcard Pattern",
"app.editEnvironmentConfig.variablesInfo": "These variables cover the submitted files and how they are associated with pipeline inputs. Each value may hold a file name or a wildcard (e.g., <code>solution.cpp</code>, <code>*.py</code>, <code>my-*.[c,h]</code>). Only <code>file</code> and <code>file[]</code> variables are allowed here.",
"app.editEnvironmentConfig.warnings.ambiguousVariable": "This variable is defined in multiple pipelines. The value will be used in all of them.",
"app.editEnvironmentConfig.warnings.noPipelinesVariables": "There are no pipelines set. Name of the variables may not be verified.",
"app.editEnvironmentConfig.warnings.unknownVariable": "This variable is not defined in any pipeline.",
"app.editEnvironmentSimpleForm.exclusiveEnvironment": "Exclusive runtime environment",
"app.editEnvironmentSimpleForm.linkToWiki": "Select all runtime environments the exercise should support. You may find more information about the environments at our <a>wiki page</a>.",
"app.editEnvironmentSimpleForm.submit": "Save Environments",
"app.editEnvironmentSimpleForm.submitting": "Saving Environments...",
"app.editEnvironmentSimpleForm.success": "Environments Saved.",
"app.editEnvironmentSimpleForm.validation.environments": "Please add at least one runtime environment.",
"app.editEnvironmentSimpleForm.validation.standaloneEnvironmentsCollisions": "Some of the selected environments ({envs}) cannot be combined with any other environment. You need to deselect these environment(s) or make sure only one environment is selected.",
"app.editExercise.addAdminButton": "Make the user an exercise admin",
"app.editExercise.archiveExplain": "Archived exercises are not listed by default, cannot be modified, and cannot be assigned. Exercise archive status has no impact on existing assignments. The archiving of exercises is not directly related to group archiving (although they share a similar purpose).",
"app.editExercise.archiveTitle": "Change archived status",
"app.editExercise.deleteExercise": "Delete the exercise",
"app.editExercise.deleteExerciseWarning": "Deletion of an exercise will not affect any existing assignments nor their solutions, except they could not be synchronized anymore. However, the deletion will effectively remove the exercise from all groups of residence.",
"app.editExercise.editConfig": "Exercise Configuration",
"app.editExercise.editTags": "Edit Tags",
"app.editExercise.manageUsers": "Manage related users",
"app.editExercise.removeAdminButton": "Remove the user from exercise admins",
"app.editExercise.setAuthorButton": "Make this user an author of the exercise (replacing current author)",
"app.editExercise.title": "Change Basic Exercise Settings",
"app.editExercise.userIsAuthor": "The user is the author of the exercise",
"app.editExerciseAdvancedConfigForm.validation.emptyFileName": "Please, fill in a vaild file name.",
"app.editExerciseConfig.cannotDisplayConfigForm": "The exercise configuration form cannot be displayed until at least one test is defined.",
"app.editExerciseConfig.cannotDisplayPipelinesForm": "The tests and runtime environment must be correctly defined before the pipeline configuration becomes available.",
"app.editExerciseConfig.changeConfigAdvancedExplain": "Changing to advanced configuration will allow you to use custom pipelines and manually configure their parameters. The exercise may also have a custom environment configuration alowing arbitrary constraints on which files are submitted by the students. A deeper understanding of the ReCodEx evaluation process is required to set the configuration correctly. Please note that advanced configurations may have only one runtime environment (so it is not possible to convert simple configurations with multiple environments set).",
"app.editExerciseConfig.changeConfigSimpleExplain": "Changing back to simple configuration requires that certain constraints are imposed. This may significantly alter the runtime environment configuration, pipelines selection, and exercise configuration.",
"app.editExerciseConfig.noPipelines": "There are no pipelines selected yet. The form cannot be displayed until at least one pipeline is selected.",
"app.editExerciseConfig.noRuntimes": "The runtime environment is not properly configured yet.",
"app.editExerciseConfig.noTests": "There are no tests yet.",
"app.editExerciseConfig.runtimeEnvironments": "Runtime Environments",
"app.editExerciseConfig.submit": "Save Configuration",
"app.editExerciseConfig.submitting": "Saving Configuration...",
"app.editExerciseConfig.success": "Configuration Saved.",
"app.editExerciseConfig.testsAndScoring": "Tests and Scoring",
"app.editExerciseConfig.title": "Change Exercise Tests Configuration",
"app.editExerciseConfigForm.rawFill": "Spread",
"app.editExerciseConfigForm.rawFillPipeline": "Spread Pipeline",
"app.editExerciseConfigForm.rawFillPipeline.yesNoQuestion": "Do you really wish to spread all values of this pipeline to every other test?",
"app.editExerciseConfigForm.rawFillTest": "Spread Test",
"app.editExerciseConfigForm.rawFillTest.yesNoQuestion": "Do you really wish to spread all values of this test to every other test?",
"app.editExerciseConfigForm.rawFillVariable.yesNoQuestion": "Do you really wish to spread this value to every other test?",
"app.editExerciseConfigForm.smartFillAll": "Smart Fill All",
"app.editExerciseConfigForm.smartFillAll.yesNoQuestion": "Do you really wish to overwrite configuration of all subsequent tests using the first test as a template? Files will be paired to individual test configurations by a heuristics based on matching name substrings.",
"app.editExerciseConfigForm.smartFillArgs": "Smart Fill Arguments",
"app.editExerciseConfigForm.smartFillArgs.yesNoQuestion": "Do you really wish to overwrite command line configuration of all subsequent tests using the first test as a template?",
"app.editExerciseConfigForm.smartFillCompilation": "Smart Fill Compilation",
"app.editExerciseConfigForm.smartFillCompilation.yesNoQuestion": "Do you really wish to overwrite compilation and execution configuration of all subsequent tests using the first test as a template? Files will be paired to individual test configurations by a heuristics based on matching name substrings.",
"app.editExerciseConfigForm.smartFillEntryPoint": "Smart Fill Entry Point",
"app.editExerciseConfigForm.smartFillEntryPoint.yesNoQuestion": "Do you really wish to overwrite entry-point configuration of all subsequent tests using the first test as a template?",
"app.editExerciseConfigForm.smartFillExtraFiles": "Smart Fill Extra Files",
"app.editExerciseConfigForm.smartFillInput": "Smart Fill Inputs",
"app.editExerciseConfigForm.smartFillInput.yesNoQuestion": "Do you really wish to overwrite input configuration of all subsequent tests using the first test as a template? Files will be paired to individual test configurations by a heuristics based on matching name substrings.",
"app.editExerciseConfigForm.smartFillJudge": "Smart Fill Judges",
"app.editExerciseConfigForm.smartFillJudge.yesNoQuestion": "Do you really wish to overwrite judge configuration of all subsequent tests using the first test as a template? Files will be paired to individual test configurations by a heuristics based on matching name substrings.",
"app.editExerciseConfigForm.smartFillOutput": "Smart Fill Outputs",
"app.editExerciseConfigForm.smartFillOutput.yesNoQuestion": "Do you really wish to overwrite output configuration of all subsequent tests using the first test as a template? Files will be paired to individual test configurations by a heuristics based on matching name substrings.",
"app.editExerciseConfigForm.validation.ambiguousEntryPoint": "Some entry points of this environment are specified whilst some are left to be specified by the student. This may be quite ambiguous.",
"app.editExerciseConfigForm.validation.duplicateFile": "Duplicate file detected.",
"app.editExerciseConfigForm.validation.duplicateFileName": "Duplicate name detected.",
"app.editExerciseConfigForm.validation.fileDoesNotExist": "File \"{file}\" was selected here, but no such file exists.",
"app.editExerciseConfigForm.validation.noFileSelected": "Please select a file.",
"app.editExerciseConfigForm.validation.stdinFileEmpty": "Please, fill in the std. input file.",
"app.editExerciseConfigForm.validation.whitespaceInArg": "Whitespace is not an argument separator.",
"app.editExerciseForm.difficulty": "Difficulty",
"app.editExerciseForm.easy": "Easy",
"app.editExerciseForm.hard": "Hard",
"app.editExerciseForm.isLocked": "Exercise is locked",
"app.editExerciseForm.isPublic": "Exercise is public",
"app.editExerciseForm.medium": "Medium",
"app.editExerciseForm.mergeJudgeLogs": "Merge judge logs in one",
"app.editExerciseForm.solutionFilesLimit": "Solution files limit:",
"app.editExerciseForm.solutionSizeLimit": "Solution total size [KiB] limit:",
"app.editExerciseForm.title": "Edit exercise {name}",
"app.editExerciseForm.validation.difficulty": "Please select the difficulty of the exercise.",
"app.editExerciseForm.validation.emptyName": "Please fill the name of the exercise.",
"app.editExerciseForm.validation.versionDiffers": "Somebody has changed the exercise while you have been editing it. Please reload the page and apply your changes once more.",
"app.editExerciseLimits.missingSomething": "The limits can be set only when the exercise configuration is complete. The tests, runtime environments, and a hardware group must be properly set aprior to setting limits.",
"app.editExerciseLimits.missingSomethingTitle": "Exercise configuration is incomplete",
"app.editExerciseLimits.multiHwGroups": "The exercise uses complex configuration of multiple hardware groups. Editting the limits using this form may simplify this configuration. Proceed at your own risk.",
"app.editExerciseLimits.multiHwGroupsTitle": "Multiple hardware groups detected",
"app.editExerciseLimits.title": "Change Exercise Tests Execution Limits",
"app.editExercisePipelines.addPipeline": "Add Pipeline",
"app.editExercisePipelines.availablePipelines": "Available pipelines",
"app.editExercisePipelines.title": "Selected Pipelines",
"app.editExercisePipelinesForm.validation.duplicatePipelineWarning": "Some pipelines are selected multiple times. Although such configuration is possilbe, it is very uncommon. Make sure you have selected the right pipelines.",
"app.editExercisePipelinesForm.validation.noPipelines": "There are no pipelines selected.",
"app.editExerciseSimpleConfigForm.isDataOnly": "The exercise is configured as data-only. It means there is no compilation, the student submits only data, and the data are verified using custom judge. The time and memory limits are applied on the judge itself.",
"app.editExerciseSimpleConfigForm.isHaskellOnly": "The exercise is configured for Haskell. Haskell tests require a name of the entry-point function which is invoked as the main function (without arguments). The result of the function call is serialized to stdout and default ReCodEx judge compares it with the expected output. For testing purposes, you may provide your own testing functions in extra files. Remember, that extra files have to employ modules for code separation (whilst the submitted solution should be in the Main module).",
"app.editExerciseSimpleConfigForm.isPrologOnly": "The exercise is configured for Prolog. Prolog uses specialized setup as the solutions are resolved by a wrapper script. Input file comprise Prolog queries in text format, each on a single line. The output holds the serialized answers, each answer on a corresponding line to the input query. The answer comprise of all possible satisfactions of the query, sorted in ascending lexicographical order to avoid ambiguity.",
"app.editExerciseSimpleConfigForm.validation.customJudge": "Please, select the custom judge binary for this test or use one of the standard judges instead.",
"app.editExerciseSimpleConfigForm.validation.expectedOutput": "Please, fill in the expected output file.",
"app.editExerciseSimpleConfigForm.validation.outputFile": "Please, fill in the name of the output file.",
"app.editExerciseSimpleConfigTests.argumentsExplanation": "Please, place individual arguments into individual input boxes. Any whitespace inside the input box will be treated as a regular part of the argument value (not as a separator of arguments).",
"app.editExerciseSimpleConfigTests.cmdlineTitle": "Command Line",
"app.editExerciseSimpleConfigTests.compilationArguments": "Compilation arguments:",
"app.editExerciseSimpleConfigTests.compilationArgumentsExplanation": "Please, place individual arguments into individual input boxes. Any whitespace inside the input box will be treated as a regular part of the argument value (not as a separator of arguments). These arguments will be appended after the default arguments set in the compilation pipeline.",
"app.editExerciseSimpleConfigTests.compilationInfo": "Additional files that are added to compilation (in case of compiled environments) or execution (in case of interpreted environments).",
"app.editExerciseSimpleConfigTests.compilationTitle": "Compilation/Execution",
"app.editExerciseSimpleConfigTests.compileArgsWarning": "Setting compilation arguments is potentially error-prone. Make sure you know how the pipelines and the workers are configured before adding any custom compilation arguments.",
"app.editExerciseSimpleConfigTests.customJudgeBinary": "Custom judge executable:",
"app.editExerciseSimpleConfigTests.entryPoint": "Point of entry (bootstrap file):",
"app.editExerciseSimpleConfigTests.entryPointLabel": "Entry point identifier:",
"app.editExerciseSimpleConfigTests.executionArguments": "Execution arguments:",
"app.editExerciseSimpleConfigTests.expectedOutput": "Expected output:",
"app.editExerciseSimpleConfigTests.extraFilesActual": "Extra file:",
"app.editExerciseSimpleConfigTests.extraFilesNoItemsLabel": "Extra files:",
"app.editExerciseSimpleConfigTests.extraFilesRename": "Rename as:",
"app.editExerciseSimpleConfigTests.extraFilesTitle": "Extra Files",
"app.editExerciseSimpleConfigTests.inputFilesActual": "Input file:",
"app.editExerciseSimpleConfigTests.inputFilesNoItemsLabel": "Input files:",
"app.editExerciseSimpleConfigTests.inputFilesRename": "Rename as:",
"app.editExerciseSimpleConfigTests.inputStdin": "Std. input:",
"app.editExerciseSimpleConfigTests.inputTitle": "Input",
"app.editExerciseSimpleConfigTests.jarFiles": "Additional JAR file:",
"app.editExerciseSimpleConfigTests.judgeArgs": "Judge arguments:",
"app.editExerciseSimpleConfigTests.judgeTitle": "Judge",
"app.editExerciseSimpleConfigTests.judgeType": "Judge:",
"app.editExerciseSimpleConfigTests.noExtraFiles": "There are no extra files yet...",
"app.editExerciseSimpleConfigTests.noJarFiles": "There are no additional JAR files yet...",
"app.editExerciseSimpleConfigTests.outputFile": "Output file:",
"app.editExerciseSimpleConfigTests.outputTitle": "Output",
"app.editExerciseSimpleConfigTests.useCustomJudge": "Use custom judge binary",
"app.editExerciseSimpleConfigTests.useOutfile": "Use output file instead of stdout",
"app.editExerciseSimpleConfigTests.validation.sentryPointString": "The entry point value must be an identifier.",
"app.editExerciseTags.noTags": "no tags assigned",
"app.editGroup.archiveGroup": "Change archived status",
"app.editGroup.archivedExplain": "Archived groups are containers for students, assignments and results after the course is finished. They are immutable and can be accessed through separate Archive page.",
"app.editGroup.cannotDeleteGroupWithSubgroups": "Group with nested sub-groups cannot be deleted.",
"app.editGroup.cannotDeleteRootGroup": "This is a so-called root group and it cannot be deleted.",
"app.editGroup.changeGroupType": "Change group type",
"app.editGroup.currentType": "Current type",
"app.editGroup.deleteGroup": "Delete Group",
"app.editGroup.deleteGroupWarning": "Deleting a group will make all attached entities (assignments, solutions, ...) inaccessible.",
"app.editGroup.examButton": "Create Exam",
"app.editGroup.examExplain": "Exam groups work the same as regular groups internally. The exam flag is mainly an idicator for the users and it may also affect the way how the group is listed or when it is archived. This indicator is completely independent of the Exam terms which can be set on a so named page.",
"app.editGroup.organizationalExplain": "Regular groups are containers for students and assignments. Organizational groups are intended to create hierarchy, so they are forbidden to hold any students or assignments.",
"app.editGroup.relocateGroup": "Relocate Group",
"app.editGroup.title": "Change Group Settings",
"app.editGroup.titleShort": "Edit Group",
"app.editGroupForm.createGroup": "Create Group",
"app.editGroupForm.description": "Group description:",
"app.editGroupForm.saveGroup": "Save Group",
"app.editGroupForm.titleEdit": "Edit Group",
"app.editGroupForm.titleNew": "Create Subgroup",
"app.editGroupForm.validation.emptyName": "Please fill the name of the group.",
"app.editHardwareGroupForm.about": "Hardware group is a group of backend workers on which the exercise can be evaluated. The workers are bound to explicit hardware; thus, changing the hardware group of an exercise may affect the performance results. Furthermore, the workers in the group share configuration which implies the constraints for memory and time limits.",
"app.editHardwareGroupForm.failed": "Cannot change the hardware group of the exercise.",
"app.editHardwareGroupForm.hwGroupSelect": "Hardware Group:",
"app.editHardwareGroupForm.title": "Select Hardware Group",
"app.editHardwareGroupForm.validationFailed": "Hardware group must be selected.",
"app.editHardwareGroupForm.warnLimitsDrop": "Limits of some environments do not meet the constraints of the selected hardware group. These limits will be saturated or even removed when the hardware group is changed.",
"app.editInstanceForm.failed": "Cannot update instance.",
"app.editInstanceForm.isOpen": "Is open",
"app.editInstanceForm.processing": "Saving...",
"app.editInstanceForm.set": "Update instance",
"app.editInstanceForm.success": "Instance was updated.",
"app.editInstanceForm.title": "Edit instance",
"app.editLimitsBox.title": "Execution Limits",
"app.editLimitsField.tooltip.cloneAll": "Copy this value to all tests in all environments.",
"app.editLimitsField.tooltip.cloneHorizontal": "Copy this value horizontally to all environments of the test.",
"app.editLimitsField.tooltip.cloneVertical": "Copy this value vertically to all tests within the environment.",
"app.editLimitsForm.failed": "Cannot save the exercise limits. Please try again later.",
"app.editLimitsForm.preciseTime": "Precise Time Measurement",
"app.editLimitsForm.preciseTimeTooltip": "If precise time measurement is selected, ReCodEx will measure the consumed CPU time of tested solutions. Otherwise, the wall time will be measured. CPU is better in cases when serial time complexity of the solution is tested and tight time limits are set. Wall time is better in general cases as it better reflects the actual time consumed by the solution (including I/O), but it is more susceptible to errors of measurement.",
"app.editLimitsForm.submit": "Save Limits",
"app.editLimitsForm.submitting": "Saving Limits...",
"app.editLimitsForm.success": "Limits Saved",
"app.editLimitsForm.validation.totalTime": "The time limits for some environments ({environments}) are violating the total alowed time per exercise constraint. Please, make sure that the total sum of the time limits is within the constraints of the selected hardware group.",
"app.editLocalizedTextForm.localeEnabledCheckbox": "Enable this localization",
"app.editLocalizedTextForm.localizationTabDisabled": "This locale is currently disabled.",
"app.editLocalizedTextForm.localized.description": "Text of system message:",
"app.editLocalizedTextForm.localized.noLanguage": "There is currently no text in any language.",
"app.editLocalizedTextForm.localized.reallyRemoveQuestion": "Do you really want to delete this localization?",
"app.editPipeline.delete": "Delete the pipeline",
"app.editPipeline.deleteWarning": "Deleting an pipeline will break all exercises using the pipeline.",
"app.editPipeline.disclaimer": "Disclaimer",
"app.editPipeline.disclaimerWarning": "Modifying the pipeline might break all exercises using the pipeline!",
"app.editPipeline.title": "Update Pipeline Settings",
"app.editPipelineEnvironmentsForm.title": "Pipeline Runtime Environments",
"app.editPipelineForm.description": "Detailed description (for exercise authors):",
"app.editPipelineForm.global": "Global pipeline associated with particular runtime environments",
"app.editPipelineForm.hasEntryPoint": "Has entry-point",
"app.editPipelineForm.hasExtraFiles": "Has extra files",
"app.editPipelineForm.isCompilationPipeline": "Compilation",
"app.editPipelineForm.isExecutionPipeline": "Execution",
"app.editPipelineForm.judgeOnlyPipeline": "Judge-Only",
"app.editPipelineForm.name": "Pipeline name:",
"app.editPipelineForm.producesFiles": "Produces output files",
"app.editPipelineForm.producesStdout": "Produces std. out",
"app.editPipelineForm.title": "Pipeline Metadata",
"app.editPipelineForm.validation.description": "Please fill the description of the pipeline.",
"app.editPipelineForm.validation.emptyName": "Please fill the name of the pipeline.",
"app.editPipelineStructure.title": "Modify Pipeline Structure",
"app.editShadowAssignment.deleteAssignment": "Delete the shadow assignment",
"app.editShadowAssignment.deleteAssignmentWarning": "Deleting shadow assignment will remove all student points as well.",
"app.editShadowAssignment.title": "Change Shadow Assignment Settings",
"app.editShadowAssignment.titleName": "Edit Shadow Assignment — {name}",
"app.editShadowAssignment.titleShort": "Edit Shadow Assignment",
"app.editShadowAssignment.validation.versionDiffers": "Somebody has changed the shadow assignment while you have been editing it. Please reload the page and apply your changes once more.",
"app.editShadowAssignmentForm.deadlineExplanation": "The deadline has only informative value for the students. It will not affect the assigned points as the points are awarded manually by the supervisor. If you do not wish to set a deadline, leave this field empty.",
"app.editShadowAssignmentForm.isBonus": "Shadow assignment is bonus one and points from it are not included in students overall score",
"app.editShadowAssignmentForm.isPublic": "Visible to students",
"app.editShadowAssignmentForm.maxPoints": "Maximal amount of points:",
"app.editShadowAssignmentForm.pointsExplanation": "The maximal amount of points has only informative value for the students. The supervisor may choose to exceed this limit when awarding points.",
"app.editShadowAssignmentForm.sendNotification": "Send e-mail notification to students about new shadow assignment",
"app.editShadowAssignmentPointsForm.awardedAt": "Awarded at:",
"app.editShadowAssignmentPointsForm.failed": "Cannot save the shadow assignment points.",
"app.editShadowAssignmentPointsForm.note": "Note:",
"app.editShadowAssignmentPointsForm.points": "Points:",
"app.editShadowAssignmentPointsForm.removePoints": "Remove Points Record",
"app.editShadowAssignmentPointsForm.setNow": "Now",
"app.editShadowAssignmentPointsForm.validation.pointsOutOfRange": "Points are out of regular range. Regular score for this assignment is between 0 and {maxPoints}.",
"app.editSisTerm.advertiseUntil": "Advertise this term to students until:",
"app.editSisTerm.beginning": "Beginning of the term:",
"app.editSisTerm.end": "End of the term:",
"app.editSisTerm.title": "Edit SIS Term",
"app.editSisTerm.validation.advertiseInLimits": "The term can be advertised only in its period.",
"app.editSisTerm.validation.noAdvertiseUntil": "End date of advertising the term is required.",
"app.editSisTerm.validation.noBeginning": "Start of the term is required.",
"app.editSisTerm.validation.noEnd": "End of the term is required.",
"app.editSolutionNoteForm.failed": "Cannot save the solution note.",
"app.editSolutionNoteForm.note": "Note:",
"app.editSystemMessageForm.role": "Users with this role and its children can see notification.",
"app.editSystemMessageForm.title": "Edit System Message",
"app.editSystemMessageForm.type": "Type of the notification.",
"app.editSystemMessageForm.validation.localizedText.text": "Please fill the description.",
"app.editSystemMessageForm.validation.roleEmpty": "Base user role of the notification muset be set.",
"app.editSystemMessageForm.validation.typeEmpty": "Type of the notification must be set.",
"app.editSystemMessageForm.validation.visibleFromBeforeTo": "The visible from date cannot be after visible to date.",
"app.editSystemMessageForm.validation.visibleFromEmpty": "The visible from date must be set.",
"app.editSystemMessageForm.validation.visibleToEmpty": "The visible to date must be set.",
"app.editSystemMessageForm.visibleFrom": "Date from which is notification visible.",
"app.editSystemMessageForm.visibleTo": "Date to which is notification visible.",
"app.editTestsForm.changeCalculator": "Scoring Algorithm",
"app.editTestsForm.changeCalculator.submit": "Set Algorithm",
"app.editTestsForm.changeCalculator.submitting": "Setting Algorithm...",
"app.editTestsForm.changeCalculator.success": "Algorithm Set.",
"app.editTestsForm.changeCalculatorDisabledTooltip": "The scoring algorithm may be changed only when there are no unsaved modifications in this form.",
"app.editTestsForm.changeCalculatorModal.info": "When the scoring algorithm is changed, the score configuration is transformed into corresponding format. Transforming more generic configuration into more specific one may require some reduction or even reinitialization of the score configuration. Please note that the change is performed immediately and any configuration transformations cannot be undone.",
"app.editTestsForm.changeCalculatorModal.title": "Set Scoring Algorithm",
"app.editTestsForm.changeCalculatorModal.warningUniform": "Current algorithm configuration will be removed.",
"app.editTestsForm.changeCalculatorModal.warningUniversalToWeighted": "Transformation of generic expression into weighted average may cause some reductions in the configuration.",
"app.editTestsForm.expandToggleTooltip": "Toggle compressed/expanded view",
"app.editTestsForm.submit": "Save Tests",
"app.editTestsForm.submitting": "Saving Tests...",
"app.editTestsForm.success": "Tests Saved.",
"app.editTestsForm.validation.testName": "Please fill test name.",
"app.editTestsForm.validation.testNameInvalidCharacters": "The test name contains invalid characters. The test name must follow certain restrictions since it is used as a name of directory.",
"app.editTestsForm.validation.testNameTaken": "This name is taken, please fill different one.",
"app.editTestsTest.add": "Add Test",
"app.editTestsTest.name": "Test name:",
"app.editTestsTest.noTests": "There are no tests yet. It is highly recommended to set up the tests first since most of the remaining configurations depends on them.",
"app.editTestsTest.pointsPercentage": "Points Percentage:",
"app.editTestsTest.testUsedInExpression": "used in expression",
"app.editTestsTest.weight": "Test weight:",
"app.editUser.emailStillNotVerified": "Your email addres has not been verified yet. ReCodEx needs to rely on vaild addresses since many notifications are sent via email. You may send yourself a validation email using the button below and then use a link from that email to verify its acceptance. Please validate your address as soon as possible.",
"app.editUser.emailStillNotVerifiedTitle": "Email Address Is Not Verified",
"app.editUser.icalTitle": "Deadlines Export to iCal",
"app.editUser.isEmailAlreadyVefiried": "If you have just verified your email and still see the message, please refresh the page.",
"app.editUser.makeLocal": "Create local account",
"app.editUser.title": "Edit User's Profile",
"app.editUserProfile.disabledNameExplanation": "The name-related fields are disabled since this account was created and is managed by an external provider.",
"app.editUserProfile.emptyLocalPassword": "Local account does not have a password.",
"app.editUserProfile.emptyLocalPasswordExplain": "You may not sign in to ReCodEx using local account until you set the password.",
"app.editUserProfile.firstName": "Given Name:",
"app.editUserProfile.gravatarEnabled": "Use Gravatar service for own avatar",
"app.editUserProfile.lastName": "Surname:",
"app.editUserProfile.passwordInstructions": "If you do not want to change your password leave these inputs blank.",
"app.editUserProfile.passwordTitle": "Change your password",
"app.editUserProfile.titlesAfterName": "Suffix Title:",
"app.editUserProfile.titlesBeforeName": "Prefix Title:",
"app.editUserProfile.validation.emailNotValid": "E-mail address is not valid.",
"app.editUserProfile.validation.emailTaken": "This email address is already taken by someone else or it is equal to your old email address.",
"app.editUserProfile.validation.emptyEmail": "E-mail address cannot be empty.",
"app.editUserProfile.validation.emptyFirstName": "First name cannot be empty.",
"app.editUserProfile.validation.emptyLastName": "Last name cannot be empty.",
"app.editUserProfile.validation.emptyNewPassword": "New password cannot be empty if you want to change your password.",
"app.editUserProfile.validation.emptyOldPassword": "Current password has to be verified before it can be changed.",
"app.editUserProfile.validation.passwordsDontMatch": "Passwords do not match.",
"app.editUserProfile.validation.samePasswords": "Changing your password to the same password does not make any sense.",
"app.editUserProfile.validation.shortFirstName": "First name must contain at least 2 characters.",
"app.editUserProfile.validation.shortLastName": "Last name must contain at least 2 characters.",
"app.editUserProfileForm.title": "Edit Profile",
"app.editUserRoleForm.title": "Set User's Role",
"app.editUserSettings.assignmentCommentsEmails": "New comment in public discussion of an assignment",
"app.editUserSettings.assignmentDeadlineEmails": "Assignment deadline is approaching",
"app.editUserSettings.assignmentSubmitAfterAcceptedEmails": "New solution evaluated for an assignment where another solution has already been accepted",
"app.editUserSettings.assignmentSubmitAfterReviewedEmails": "New solution evaluated for an assignment where another solution has already been reviewed",
"app.editUserSettings.defaultLanguage": "Default language:",
"app.editUserSettings.emailStillNotVerifiedTitle": "Your email address is not verified, so no notifications will be sent regardless your personal settings.",
"app.editUserSettings.emailsTitle": "Send E-mail Notifications",
"app.editUserSettings.failed": "Cannot save profile settings.",
"app.editUserSettings.newAssignmentEmails": "New exercise assigned",
"app.editUserSettings.pointsChangedEmails": "Awarded points modified by teacher",
"app.editUserSettings.solutionCommentsEmails": "New solution comment",
"app.editUserSettings.submissionEvaluatedEmails": "Submission evaluation (when taking a long time)",
"app.editUserSettings.title": "User Settings",
"app.editUserUIData.darkTheme": "Use a dark theme for the source code viewers and editors",
"app.editUserUIData.dateFormatOverride": "Date format override (if not set, date is formatted according to selected language):",
"app.editUserUIData.defaultPage": "Default page (after login):",
"app.editUserUIData.defaultPage.dashboard": "Dashboard",
"app.editUserUIData.defaultPage.home": "Home page (about)",
"app.editUserUIData.defaultPage.instance": "Instance overview",
"app.editUserUIData.editorFontSize": "Code editor font size:",
"app.editUserUIData.failed": "Cannot save visual settings of the user.",
"app.editUserUIData.lastNameFirst": "In listings, show last names of users first",
"app.editUserUIData.openOnDoubleclick": "In listings, use double click to open item details",
"app.editUserUIData.openOnDoubleclick.explain": "For the listing that show items with buttons or links leading to item detials, a double click (anywhere on the listing row) will be used as a shortcut for that button or link.",
"app.editUserUIData.openedSidebar": "Sidebar is unfolded by default",
"app.editUserUIData.title": "Visual Settings",
"app.editUserUIData.useGravatar": "Use Gravatar service for fetching user avatars",
"app.editUserUIData.vimMode": "Use Vim mode in source code editors",
"app.emailVerification.failed": "The email address cannot be verified.",
"app.emailVerification.progress": "Email verification progress",
"app.emailVerification.requestAnotherLink": "Please request (another) link with a unique token.",
"app.emailVerification.title": "Email Verification",
"app.emailVerification.tokenExpired": "The email address cannot be verified now - your token has probably expired or the URL is broken.",
"app.emailVerification.verified": "The email address has been verified.",
"app.emailVerification.waiting": "The email address is being verified.",
"app.environmentsList.noEnvironments": "no runtime environments",
"app.evaluationDetail.buildSucceeded": "Build succeeded:",
"app.evaluationDetail.evaluatedAt": "Evaluated at:",
"app.evaluationDetail.explanations.buildSucceeded": "Whether the compilation of the solution succeeded. If the compilation fails, the solution is not executed.",
"app.evaluationDetail.explanations.correctness": "Overall correctness of the solution. There are multiple options how the correcntess of solution is computed from the test results. Use the explanation link to see how the correctness was computed.",
"app.evaluationDetail.explanations.evaluatedAt": "Time when the evaluation has concluded. It may differ from the time of submission if the evaluation took long of if the solution was re-evaluated.",
"app.evaluationDetail.explanations.isDebug": "In debugging mode, the detailed evaluation logs retain also the outputs of the executed solution which may be quite large.",
"app.evaluationDetail.explanations.scoredPoints": "Points scored for this evaluation by ReCodEx. This may differ from the final score since the teacher may choose to override the points.",
"app.evaluationDetail.isCorrect": "Correctness",
"app.evaluationDetail.isDebug": "Debug Mode",
"app.evaluationDetail.notActualEvaluation": "This is not the last evaluation. Please note, that the solution is scored by the evaluaton of the last submission. You may change the selection of the evaluation being displayed in the table at the bottom.",
"app.evaluationDetail.scoredPoints": "Scored points",
"app.evaluationDetail.title.compilationLogs": "Compilation Logs",
"app.evaluationDetail.title.details": "Evaluation Details",
"app.evaluationProgress.continue": "See The Results",
"app.evaluationProgress.noWebSockets": "Your browser does not support realtime progress monitoring or the connection to the server could not be estabelished or was lost. The evaluation has already started and you will be able to see the results soon.",
"app.evaluationProgress.title": "Solution is being evaluated",
"app.evaluationProgressStatus.completed": "COMPLETED",
"app.evaluationProgressStatus.failed": "FAILED",
"app.evaluationProgressStatus.ok": "OK",
"app.evaluationProgressStatus.skipped": "SKIPPED",
"app.evaluationTable.empty": "There are no evaluations in this list.",
"app.evaluationTable.evaluatedAt": "Evaluated at:",
"app.evaluationTable.evaluationIsDebug": "Evaluated in debug mode (complete logs and dumps)",
"app.evaluationTable.notAvailable": "Evaluation not available",
"app.evaluationTable.score": "Score:",
"app.examForm.alreadyStarted": "The exam has already started...",
"app.examForm.beginImmediately": "Begin immediately",
"app.examForm.end": "End:",
"app.examForm.endRelative": "Set length (instead of explicit end)",
"app.examForm.endRelativeExplanation": "The end of the exam can be set as explicit date (default), or as a period from the beginning (if this checkbox is set).",
"app.examForm.errors.begin": "The beginning must be a valid time record in the future.",
"app.examForm.errors.end": "The end must be a valid time record.",
"app.examForm.errors.endBeforeBegin": "The end must be after beginning.",
"app.examForm.errors.endInPast": "The end must be in the future.",
"app.examForm.errors.length": "The length must be in valid format and not zero.",
"app.examForm.errors.tooLongExam": "The exam must not be longer than 24 hours.",
"app.examForm.length": "Length [h:mm]:",
"app.examForm.saveExam": "Save Exam",
"app.examForm.strict": "Strict lock",
"app.examForm.strictLockExplanation": "During the exam, students will be required to lock themselves in the group. When locked, access to all other groups is restricted. In case of regular locks, other groups are read-only. If the lock is strict, the groups may not be accessed at all. Use strict locking when the students are to be prevented from utilizing pieced of previously submitted code.",
"app.exercise.addReferenceSolutionDetailed": "A reference solution can be added on the exercise detail page.",
"app.exercise.admins": "Administrators",
"app.exercise.admins.explanation": "The administrators have the same permissions as the author towards the exercise, but they are not explicitly mentioned in listings or used in search filters.",
"app.exercise.allRefSolutions": "All Reference Solutions",
"app.exercise.archived": "The exercise has been archived.",
"app.exercise.archivedDetailed": "The exercise was placed into an archived state (at {archivedAt}). Archived exercises are not listed by default, cannot be modified, and cannot be assigned.",
"app.exercise.assignButton": "Assign",
"app.exercise.assignToGroup": "Here, you can assign this exercise simultaneously to multiple groups under your supervision. The exercise can also be assigned from within the groups individually. Please note that an exercise may be assigned multiple times in a group, so beware accidental repetitive assignment.",
"app.exercise.attach": "Attach",
"app.exercise.comments.additionalSwitchNote": "(teachers who can see this exercise)",
"app.exercise.defaultValueForAssignment": "This is a default (recommended) value for assignments, but each assignment of this exercise may set it individually. Modifications of this value are not synchronized with already created assignments.",
"app.exercise.description": "Short description",
"app.exercise.description.visibleOnlyToSupervisors": "(visible only to supervisors)",
"app.exercise.detach": "Detach",
"app.exercise.detailTitle": "Exercise description",
"app.exercise.difficulty": "Difficulty",
"app.exercise.exerciseReadyToAssign": "The exercise is ready to be assigned. You may do this directly on the assignments page of selected group, or assign it simultaneously to multiple groups using form on Assignments page.",
"app.exercise.forked": "Forked from",
"app.exercise.groups": "Groups of Residence",
"app.exercise.isBroken": "Exercise configuration is incomplete and needs fixing.",
"app.exercise.isBrokenShort": "Incomplete configuration...",
"app.exercise.isLocked": "Is locked",
"app.exercise.isLockedExplanation": "Locked exercises cannot be assigned in groups. It is recommended to keep the assignment locked until it is properly tested by reference solutions, especially if it is also public.",
"app.exercise.isPublic": "Is public",
"app.exercise.isPublicExplanation": "Public exercise is visible to all supervisors in its home groups and respective nested groups. Private (not public) exercise is visible to the author only.",
"app.exercise.manageGroupAttachments": "Manage Group Attachments",
"app.exercise.mergeJudgeLogsExplanation": "The merge flag indicates whether primary (stdout) and secondary (stderr) judge logs are are concatenated in one log (which should be default for built-in judges). If the logs are separated, the visibility of each part may be controlled idividually in assignments. That might be helpful if you need to pass two separate logs from a custom judge (e.g., one is for students and one is for supervisors).",
"app.exercise.noAdmins": "no administrators appointed",
"app.exercise.noPromotedReferenceSolutions": "There are no promoted reference solutions for this exercise yet.",
"app.exercise.noRefSolutions": "Exercise has no proof of concept. Exercise must get at least one reference solution before it can be assigned.",
"app.exercise.noReferenceSolutions": "There are no reference solutions for this exercise yet.",
"app.exercise.noReferenceSolutionsDetailed": "The exercise configuration should be verified on one reference solution at least before it can be assigned.",
"app.exercise.notificationButton": "Send Notification",
"app.exercise.notificationButton.failedMessage": "The operation has failed!",
"app.exercise.notificationButton.noRecipients": "No recipients of the notification were found. Please note that the users may choose to ignore these notifications in their personal settings.",
"app.exercise.notificationButton.successMessage": "The notification was successfully sent to {sendResult} {sendResult, plural, one {user} other {users}}.",
"app.exercise.notificationModal.explain": "A notification is sent by email to all group admins and supervisors who have assigned this exercise in their groups. Optionally, you may attach a custom message to the notification. If you leave the message empty, a generic notification informing that the exercise was changed will be sent.",
"app.exercise.notificationModal.title": "Send a notification to teachers",
"app.exercise.referenceSolution.deleteConfirm": "Are you sure you want to delete the reference solution? This cannot be undone.",
"app.exercise.referenceSolutionsBox": "Promoted Reference Solutions",
"app.exercise.runtimes": "Runtime environments",
"app.exercise.solutionFilesLimitExplanation": "Maximal number of files submitted in a solution. The users are not allowed to submit solutions that exceed this limit. If empty, no limit is applied.",
"app.exercise.solutionSizeLimitExplanation": "Maximal total size of all files submitted in a solution. The users are not allowed to submit solutions that exceed this limit. If empty, no limit is applied.",
"app.exercise.submitReferenceSoution": "New Reference Solution",
"app.exercise.title": "Exercise Detail",
"app.exercise.validationErrors.config": "Configuration of some tests is incomplete; this typically happens when you add a test or delete a file",
"app.exercise.validationErrors.limits": "Memory or time limits are not properly set",
"app.exercise.validationErrors.noConfigs": "Configuration of some tests is incorrect or missing",
"app.exercise.validationErrors.noHwGroups": "Exercise has no hardware group selected",
"app.exercise.validationErrors.noRuntimes": "Exercise has no runtime environments selected",
"app.exercise.validationErrors.noTests": "Exercise has no tests",
"app.exercise.validationErrors.noTexts": "Exercise has no specification in any language",
"app.exercise.validationErrors.rawTitle": "Raw message from backend",
"app.exercise.validationErrors.runtimes": "Selected runtime environments have no configuration",
"app.exercise.validationErrors.score": "Algorithm for computing solution correctness is not properly set",
"app.exercise.validationLinks.limits": "update limits form",
"app.exercise.validationLinks.noConfigs": "update configuration form",
"app.exercise.validationLinks.noHwGroups": "select hardware group",
"app.exercise.validationLinks.noTexts": "update exercise settings",
"app.exercise.validationLinks.runtimes": "update runtime environments form",
"app.exercise.validationLinks.tests": "update tests form",
"app.exerciseAssignments.multiAssignBox": "Assign to Groups",
"app.exerciseAssignments.title": "Group Assignments of The Exercise",
"app.exerciseAssignments.titleShort": "Exercise Assignments",
"app.exerciseConfigTypeButton.advancedConfiguration": "Advanced Configuration",
"app.exerciseConfigTypeButton.confirm": "This operation may not be simply reversed, since the configuration type can be changed only under certain conditions. Do you wish to proceed?",
"app.exerciseConfigTypeButton.simpleConfiguration": "Simple Configuration",
"app.exerciseReferenceSolutions.filters.author": "Author",
"app.exerciseReferenceSolutions.filters.correctness": "Correctness",
"app.exerciseReferenceSolutions.filters.lastOneOfGroup": "At least one option from each group must be selected.",
"app.exerciseReferenceSolutions.filters.showCorrect": "100% correct",
"app.exerciseReferenceSolutions.filters.showImperfect": "Imperfect (less than 100% correct)",
"app.exerciseReferenceSolutions.filters.showMine": "Mine",
"app.exerciseReferenceSolutions.filters.showOthers": "Others",
"app.exerciseReferenceSolutions.filters.showPrivate": "Private",
"app.exerciseReferenceSolutions.filters.showPromoted": "Promoted",
"app.exerciseReferenceSolutions.filters.showPublic": "Public",
"app.exerciseReferenceSolutions.filters.title": "Select reference solutions for display",
"app.exerciseReferenceSolutions.filters.visibility": "Visibility",
"app.exerciseReferenceSolutions.filtersButton": "Change Filters",
"app.exerciseReferenceSolutions.noSolutions": "No reference solutions matching filter criteria.",
"app.exerciseReferenceSolutions.referenceSolutionsBox": "Reference Solutions",
"app.exerciseReferenceSolutions.referenceSolutionsCount": "total {count}",
"app.exerciseReferenceSolutions.title": "Exercise Reference Solutions",
"app.exercises.difficultyIcon.easy": "Easy",
"app.exercises.difficultyIcon.hard": "Hard",
"app.exercises.difficultyIcon.medium": "Medium",
"app.exercises.difficultyIcon.unknown": "Unknown",
"app.exercises.failedDetail": "Loading the details of the exercise failed. Please make sure you are connected to the Internet and try again later.",
"app.exercises.listEdit": "Settings",
"app.exercises.listEditConfig": "Tests",
"app.exercises.listEditLimits": "Limits",
"app.exercises.listTitle": "Exercises",
"app.exercises.loadingDetail": "Loading the detail of the exercise",
"app.exercises.title": "List of All Exercises",
"app.exercisesList.created": "Created",
"app.exercisesList.difficulty": "Difficulty",
"app.exercisesList.empty": "No exercises match selected filters.",
"app.exercisesList.groups": "Groups",
"app.exercisesListItem.noGroups": "no groups",
"app.exitCodes.csharp.0": "OK",
"app.exitCodes.csharp.1": "User error",
"app.exitCodes.csharp.101": "Unhandled exception",
"app.exitCodes.csharp.102": "Null reference error",
"app.exitCodes.csharp.103": "Memory allocation error",
"app.exitCodes.csharp.104": "Index out of range error",
"app.exitCodes.csharp.105": "Overflow error",
"app.exitCodes.csharp.106": "IO error",
"app.exitCodes.csharp.107": "File not found error",
"app.exitCodes.csharp.108": "Invalid operation error",
"app.exitCodes.csharp.109": "Division by zero error",
"app.exitCodes.csharp.200": "Internal error",
"app.exitCodes.csharp.201": "No main method",
"app.exitCodes.csharp.202": "More main methods",
"app.exitCodes.java.0": "OK",
"app.exitCodes.java.1": "Unknown error",
"app.exitCodes.java.100": "Out of memory exception",
"app.exitCodes.java.101": "Security exception",
"app.exitCodes.java.102": "Main class not found exception",
"app.exitCodes.java.103": "Multiple main classes found",
"app.exitCodes.java.104": "Illegal access exception",
"app.exitCodes.java.105": "Illegal argument exception",
"app.exitCodes.java.106": "Stack overflow exception",
"app.exitCodes.java.107": "Array index out of bounds exception",
"app.exitCodes.java.108": "Index out of bounds exception",
"app.exitCodes.java.109": "Null pointer exception",
"app.exitCodes.java.110": "Arithmetic exception",
"app.exitCodes.java.111": "Out of memory error",
"app.exitCodes.java.112": "Security exception",
"app.exitCodes.java.113": "IO exception",
"app.exitCodes.java.2": "Other invocation target exception",
"app.exitCodes.pascal.0": "OK",
"app.exitCodes.pascal.1": "Invalid function number",
"app.exitCodes.pascal.100": "Disk read error",
"app.exitCodes.pascal.101": "Disk write error",
"app.exitCodes.pascal.102": "File not assigned",
"app.exitCodes.pascal.103": "File not open",
"app.exitCodes.pascal.104": "File not open for input",
"app.exitCodes.pascal.105": "File not open for output",
"app.exitCodes.pascal.106": "Invalid numeric format",
"app.exitCodes.pascal.12": "Invalid file access code",
"app.exitCodes.pascal.15": "Invalid drive number",
"app.exitCodes.pascal.150": "Disk is write-protected",
"app.exitCodes.pascal.151": "Bad drive request struct length",
"app.exitCodes.pascal.152": "Drive not ready",
"app.exitCodes.pascal.154": "CRC error in data",
"app.exitCodes.pascal.156": "Disk seek error",
"app.exitCodes.pascal.157": "Unknown media type",
"app.exitCodes.pascal.158": "Sector Not Found",
"app.exitCodes.pascal.159": "Printer out of paper",
"app.exitCodes.pascal.16": "Cannot remove current directory",
"app.exitCodes.pascal.160": "Device write fault",
"app.exitCodes.pascal.161": "Device read fault",
"app.exitCodes.pascal.162": "Hardware failure",
"app.exitCodes.pascal.17": "Cannot rename across drives",
"app.exitCodes.pascal.2": "File not found",
"app.exitCodes.pascal.200": "Division by zero",
"app.exitCodes.pascal.201": "Range check error",
"app.exitCodes.pascal.202": "Stack overflow error",
"app.exitCodes.pascal.203": "Heap overflow error",
"app.exitCodes.pascal.204": "Invalid pointer operation",
"app.exitCodes.pascal.205": "Floating point overflow",
"app.exitCodes.pascal.206": "Floating point underflow",
"app.exitCodes.pascal.207": "Invalid floating point operation",
"app.exitCodes.pascal.210": "Object not initialized",
"app.exitCodes.pascal.211": "Call to abstract method",
"app.exitCodes.pascal.212": "Stream registration error",
"app.exitCodes.pascal.213": "Collection index out of range",
"app.exitCodes.pascal.214": "Collection overflow error",
"app.exitCodes.pascal.215": "Arithmetic overflow error",
"app.exitCodes.pascal.216": "General Protection fault",
"app.exitCodes.pascal.217": "Unhandled exception occurred",
"app.exitCodes.pascal.218": "Invalid value specified",
"app.exitCodes.pascal.219": "Invalid typecast",
"app.exitCodes.pascal.222": "Variant dispatch error",
"app.exitCodes.pascal.223": "Variant array create",
"app.exitCodes.pascal.224": "Variant is not an array",
"app.exitCodes.pascal.225": "Var Array Bounds check error",
"app.exitCodes.pascal.227": "Assertion failed error",
"app.exitCodes.pascal.229": "Safecall error check",
"app.exitCodes.pascal.231": "Exception stack corrupted",
"app.exitCodes.pascal.232": "Threads not supported",
"app.exitCodes.pascal.3": "Path not found",
"app.exitCodes.pascal.4": "Too many open files",
"app.exitCodes.pascal.5": "File access denied",
"app.exitCodes.pascal.6": "Invalid file handle",
"app.exitCodes.python3.0": "OK",
"app.exitCodes.python3.1": "Base exception",
"app.exitCodes.python3.101": "Assertion error",
"app.exitCodes.python3.102": "Type error",
"app.exitCodes.python3.103": "Name error",
"app.exitCodes.python3.104": "End of file error",
"app.exitCodes.python3.105": "Attribute error",
"app.exitCodes.python3.106": "IO error",
"app.exitCodes.python3.107": "OS error",
"app.exitCodes.python3.108": "Lookup error",
"app.exitCodes.python3.109": "Value error",
"app.exitCodes.python3.110": "Zero division error",
"app.exitCodes.python3.111": "Arithmetic error",
"app.exitCodes.python3.112": "Import error",
"app.exitCodes.python3.113": "Memory error",
"app.exitCodes.python3.114": "Syntax error",
"app.exitCodes.python3.115": "Recursion error",
"app.exitCodes.unknown": "Unknown",
"app.expandingInputFilesField.noFiles": "There are no files yet...",
"app.expandingInputFilesField.tooltip.add": "Add another file.",
"app.expandingInputFilesField.tooltip.remove": "Remove this file.",
"app.expandingInputFilesField.validateEmpty": "This value must not be empty.",
"app.expandingTextField.noItems": "There are no items yet...",
"app.expandingTextField.tooltip.add": "Append a new item.",
"app.expandingTextField.tooltip.moveDown": "Swap with item below.",
"app.expandingTextField.tooltip.remove": "Remove this item from the list.",
"app.externalLinkPreview.fetchFailed": "The download has failed. Either the network has malfunctioned or CSP prevented us from reaching the content.",
"app.externalLinkPreview.httpFailed": "Unable to download the refered content. The link may be invalid.",
"app.externalLinkPreview.noTextContent": "Only plain text and Markdown contents can be previewed here. The link refers to a \\\"{contentType}\\\" content.",
"app.externalLinkPreview.readingTextFailed": "Internal error occured. We are stating this in passive voice to avoid any responsibility.",
"app.externalLinkPreview.showAsMarkdown": "Show as markdown",
"app.externalLinkPreview.title": "Preview",
"app.externalLogin.button.authenticate": "Authenticate",
"app.externalLogin.button.authenticated": "Authenticated",
"app.externalLogin.button.authenticating": "Authenticating...",
"app.externalLogin.description": "Sign-in into ReCodEx using external authentication service \"{name}\". If you do not have an account in ReCodEx, it will attempt to create one. If you do have a local account, it will be associated with your external identity if both have the same e-mail address.",
"app.externalLogin.failed": "External authentication failed.",
"app.externalLogin.help": "In case of any problems, <a>contact the support</a>.",
"app.externalLogin.title": "Sign-in by External Authenticator",
"app.externalRegistrationForm.gdprConfirm": "I agree that my personal data will be processed by ReCodEx in accordance with GDPR policy.",
"app.externalRegistrationForm.instance": "Instance:",
"app.externalRegistrationForm.validation.gdpr": "Your agreement is required prior to registration.",
"app.externalRegistrationForm.validation.instanceId": "Please select one of the instances.",
"app.failedGroupDetail.msg": "Cannot load group detail. Please try again later.",
"app.failedSubmissionDetail.description": "Make sure you are connected to the Internet and repeat the action after a while.",
"app.failedSubmissionDetail.title": "Cannot load evaluation of the solution",
"app.failureList.headLink": "Link",
"app.failureList.headResolutionNote": "Resolution note",
"app.failureList.headResolvedAt": "Resolved at",
"app.failureList.headType": "Type",
"app.failureList.noFailures": "There are no failures in this list.",
"app.failureListItem.referenceAssignment": "Reference assignment",
"app.failureListItem.studentAssignment": "Student assignment",
"app.faq.title": "Frequently Asked Questions",
"app.fields.limits.memory": "Memory [KiB]:",
"app.fields.limits.time": "Time [s]:",
"app.filesTable.downloadArchive": "Download all as ZIP archive",
"app.filesTable.empty": "There are no saved files yet.",
"app.filesTable.originalFileName": "Original File Name",
"app.filesTable.saveUploadedFilesButton": "Save Uploaded Files",
"app.filterArchiveGroupsForm.searchName": "Search by name",
"app.filterArchiveGroupsForm.showAll": "Show also nonarchived groups",
"app.filterExercisesListForm.allButton": "All",
"app.filterExercisesListForm.archived": "Archived Status:",
"app.filterExercisesListForm.archivedOptions.all": "All exercises (including archived)",
"app.filterExercisesListForm.archivedOptions.archived": "Only archived exercises",
"app.filterExercisesListForm.archivedOptions.default": "Regular exercises (default)",
"app.filterExercisesListForm.author": "Author",
"app.filterExercisesListForm.hideAdvancedFilters": "Hide advanced filters...",
"app.filterExercisesListForm.mineButton": "Mine",
"app.filterExercisesListForm.searchName": "Search by name",
"app.filterExercisesListForm.selectedEnvironments": "Selected Runtime Environments:",
"app.filterExercisesListForm.selectedTags": "Selected Tags:",
"app.filterExercisesListForm.showAllFilters": "Show all filters...",
"app.filterUsersListForm.searchName": "Search by name",
"app.footer.copyright": "Copyright © 2016-{year} <a>ReCodEx</a>. All rights reserved.",
"app.footer.version": "<strong>Version</strong> {version} (<a>changelog</a>)",
"app.forkExerciseForm.confirmSubmit": "Fork process will create another copy of the exercise. This only make sense if you need to create a different exercise and you do not want to start from scratch. Please, do not fork exercises just to attach them to a different groups of residence. Are you sure you would like to proceed with forking?",
"app.forkExerciseForm.showForkedExerciseButton": "Show the Forked Exercise",