@hed-hog/lms 0.0.329 → 0.0.331
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/hedhog/frontend/app/_components/class-form-sheet.tsx.ejs +18 -8
- package/hedhog/frontend/app/_components/course-form-sheet.tsx.ejs +10 -8
- package/hedhog/frontend/app/_components/create-lms-person-sheet.tsx.ejs +5 -9
- package/hedhog/frontend/app/_components/create-lms-student-person-sheet.tsx.ejs +5 -9
- package/hedhog/frontend/app/certificates/models/LeftPanel.tsx.ejs +15 -14
- package/hedhog/frontend/app/certificates/models/RightPanel.tsx.ejs +66 -29
- package/hedhog/frontend/app/certificates/models/TemplateEditorPage.tsx.ejs +4 -2
- package/hedhog/frontend/app/certificates/models/TopBar.tsx.ejs +44 -34
- package/hedhog/frontend/app/certificates/models/page.tsx.ejs +1 -1
- package/hedhog/frontend/app/classes/[id]/page.tsx.ejs +27 -27
- package/hedhog/frontend/app/classes/page.tsx.ejs +23 -15
- package/hedhog/frontend/app/courses/[id]/_components/CourseMultiEntityPicker.tsx.ejs +2 -2
- package/hedhog/frontend/app/courses/[id]/page.tsx.ejs +8 -6
- package/hedhog/frontend/app/courses/[id]/structure/_components/confirm-dialog.tsx.ejs +5 -3
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-dnd.tsx.ejs +1 -1
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-panel.tsx.ejs +9 -7
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-skeleton.tsx.ejs +3 -1
- package/hedhog/frontend/app/courses/[id]/structure/_components/drag-handle.tsx.ejs +4 -2
- package/hedhog/frontend/app/courses/[id]/structure/_components/editor-bulk.tsx.ejs +24 -23
- package/hedhog/frontend/app/courses/[id]/structure/_components/editor-lesson.tsx.ejs +228 -152
- package/hedhog/frontend/app/courses/[id]/structure/_components/multi-select-bar.tsx.ejs +21 -19
- package/hedhog/frontend/app/courses/[id]/structure/_components/shortcuts-help.tsx.ejs +78 -36
- package/hedhog/frontend/app/courses/[id]/structure/_components/tree-display-settings-popover.tsx.ejs +18 -16
- package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row-lesson.tsx.ejs +13 -11
- package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row-session.tsx.ejs +5 -3
- package/hedhog/frontend/app/courses/[id]/structure/_components/use-course-structure-shortcuts.ts.ejs +14 -9
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-structure-mutations.ts.ejs +42 -25
- package/hedhog/frontend/app/enterprise/[id]/page.tsx.ejs +37 -41
- package/hedhog/frontend/app/enterprise/_components/enterprise-admin-create-sheet.tsx.ejs +3 -1
- package/hedhog/frontend/app/enterprise/_components/enterprise-administrators-tab.tsx.ejs +10 -8
- package/hedhog/frontend/app/enterprise/_components/enterprise-classes-tab.tsx.ejs +22 -20
- package/hedhog/frontend/app/enterprise/_components/enterprise-course-create-sheet.tsx.ejs +3 -3
- package/hedhog/frontend/app/enterprise/_components/enterprise-courses-tab.tsx.ejs +21 -19
- package/hedhog/frontend/app/enterprise/_components/enterprise-sheet.tsx.ejs +34 -36
- package/hedhog/frontend/app/enterprise/_components/enterprise-student-create-sheet.tsx.ejs +3 -1
- package/hedhog/frontend/app/enterprise/_components/enterprise-students-tab.tsx.ejs +7 -5
- package/hedhog/frontend/app/enterprise/page.tsx.ejs +106 -54
- package/hedhog/frontend/app/evaluations/_components/evaluation-topic-form-sheet.tsx.ejs +1 -1
- package/hedhog/frontend/app/exams/page.tsx.ejs +6 -2
- package/hedhog/frontend/app/instructor-skills/page.tsx.ejs +79 -59
- package/hedhog/frontend/app/instructors/_components/instructor-form-sheet.tsx.ejs +145 -119
- package/hedhog/frontend/app/instructors/page.tsx.ejs +75 -54
- package/hedhog/frontend/app/paths/page.tsx.ejs +11 -7
- package/hedhog/frontend/app/reports/courses/page.tsx.ejs +5 -5
- package/hedhog/frontend/app/reports/dashboard/page.tsx.ejs +8 -8
- package/hedhog/frontend/app/reports/page.tsx.ejs +7 -7
- package/hedhog/frontend/app/reports/students/page.tsx.ejs +6 -6
- package/hedhog/frontend/app/training/page.tsx.ejs +5 -5
- package/hedhog/frontend/messages/en.json +899 -45
- package/hedhog/frontend/messages/pt.json +894 -38
- package/hedhog/frontend/widgets/active-classes-kpi.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/active-courses-kpi.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/approval-rate-kpi.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/class-calendar.tsx.ejs +2 -2
- package/hedhog/frontend/widgets/completion-rate-kpi.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/issued-certificates-kpi.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/total-students-kpi.tsx.ejs +1 -1
- package/hedhog/table/instructor_qualification.yaml +1 -1
- package/hedhog/table/instructor_skill.yaml +1 -1
- package/package.json +7 -7
|
@@ -569,6 +569,14 @@
|
|
|
569
569
|
"secondaryColor": {
|
|
570
570
|
"label": "Secondary Color",
|
|
571
571
|
"placeholder": "#111827"
|
|
572
|
+
},
|
|
573
|
+
"logo": {
|
|
574
|
+
"label": "Course Logo",
|
|
575
|
+
"alt": "Course logo",
|
|
576
|
+
"upload": "Upload logo",
|
|
577
|
+
"replace": "Replace logo",
|
|
578
|
+
"remove": "Remove",
|
|
579
|
+
"description": "Optional image to identify the course"
|
|
572
580
|
}
|
|
573
581
|
},
|
|
574
582
|
"flags": {
|
|
@@ -629,6 +637,7 @@
|
|
|
629
637
|
},
|
|
630
638
|
"breadcrumbs": {
|
|
631
639
|
"home": "Home",
|
|
640
|
+
"lms": "LMS",
|
|
632
641
|
"courses": "Courses",
|
|
633
642
|
"structure": "Course Structure"
|
|
634
643
|
},
|
|
@@ -651,6 +660,159 @@
|
|
|
651
660
|
"description": "Start by creating the first session of your course.",
|
|
652
661
|
"action": "Create First Session"
|
|
653
662
|
},
|
|
663
|
+
"loading": "Loading course structure",
|
|
664
|
+
"dragHandle": {
|
|
665
|
+
"disabled": "Clear search to reorder",
|
|
666
|
+
"enabled": "Drag to reorder"
|
|
667
|
+
},
|
|
668
|
+
"bulkEditor": {
|
|
669
|
+
"title": "Bulk edit",
|
|
670
|
+
"clearSelection": "Clear selection",
|
|
671
|
+
"productionStatus": "Production status",
|
|
672
|
+
"keepCurrent": "Keep current",
|
|
673
|
+
"visibilityTitle": "Visibility",
|
|
674
|
+
"moveToSession": "Move to session",
|
|
675
|
+
"selectSession": "Select session…",
|
|
676
|
+
"apiNotice": "Bulk changes are not integrated with the API yet. Click save to preview.",
|
|
677
|
+
"toast": {
|
|
678
|
+
"preview": "Bulk edit: {changes} (mock)",
|
|
679
|
+
"none": "No change selected"
|
|
680
|
+
},
|
|
681
|
+
"types": {
|
|
682
|
+
"lessons": "lessons",
|
|
683
|
+
"sessions": "sessions",
|
|
684
|
+
"items": "items",
|
|
685
|
+
"selected": "selected"
|
|
686
|
+
},
|
|
687
|
+
"status": {
|
|
688
|
+
"preparada": "Prepared",
|
|
689
|
+
"gravada": "Recorded",
|
|
690
|
+
"editada": "Edited",
|
|
691
|
+
"finalizada": "Finalized",
|
|
692
|
+
"publicada": "Published"
|
|
693
|
+
},
|
|
694
|
+
"visibility": {
|
|
695
|
+
"publico": "Public",
|
|
696
|
+
"privado": "Private",
|
|
697
|
+
"restrito": "Restricted"
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
"multiSelectBar": {
|
|
701
|
+
"copyLessonsSuccess": "{count} lessons copied",
|
|
702
|
+
"copySessionsSuccess": "{count} sessions copied",
|
|
703
|
+
"copyMixedError": "Select only lessons or only sessions to copy.",
|
|
704
|
+
"duplicatingLessons": "{count} lessons are being duplicated...",
|
|
705
|
+
"duplicatingSessions": "{count} sessions are being duplicated...",
|
|
706
|
+
"deleteTitle": "Delete {label}?",
|
|
707
|
+
"deleteSessionsDescription": "The sessions and all their lessons will be permanently deleted.",
|
|
708
|
+
"deleteDescription": "This action cannot be undone.",
|
|
709
|
+
"toolbarAria": "{count} selected items — actions",
|
|
710
|
+
"copyTitle": "Copy selected (Ctrl+C)",
|
|
711
|
+
"copyAria": "Copy selected",
|
|
712
|
+
"duplicateTitle": "Duplicate selected (Ctrl+D)",
|
|
713
|
+
"duplicateAria": "Duplicate selected",
|
|
714
|
+
"moveTitle": "Move to another session",
|
|
715
|
+
"moveAria": "Move to another session",
|
|
716
|
+
"deleteActionTitle": "Delete selected (Delete)",
|
|
717
|
+
"deleteActionAria": "Delete selected",
|
|
718
|
+
"clearTitle": "Clear selection (Escape)",
|
|
719
|
+
"clearAria": "Clear selection"
|
|
720
|
+
},
|
|
721
|
+
"shortcuts": {
|
|
722
|
+
"title": "Keyboard shortcuts",
|
|
723
|
+
"footer": "Shortcuts are disabled while focus is in inputs, except Ctrl+S, Ctrl+F, and Ctrl+/ which work in any context.",
|
|
724
|
+
"triggerTitle": "Keyboard shortcuts (Ctrl+/)",
|
|
725
|
+
"triggerLabel": "Shortcuts",
|
|
726
|
+
"groups": {
|
|
727
|
+
"navigation": {
|
|
728
|
+
"heading": "Navigation",
|
|
729
|
+
"items": {
|
|
730
|
+
"navigate": "Navigate between items",
|
|
731
|
+
"expand": "Expand selected session",
|
|
732
|
+
"collapse": "Collapse session / go to parent",
|
|
733
|
+
"focusEditor": "Focus the first editor field"
|
|
734
|
+
}
|
|
735
|
+
},
|
|
736
|
+
"actions": {
|
|
737
|
+
"heading": "Actions",
|
|
738
|
+
"items": {
|
|
739
|
+
"savePanel": "Save the panel form",
|
|
740
|
+
"createItem": "Create a new session or lesson",
|
|
741
|
+
"copyItem": "Copy selected item",
|
|
742
|
+
"pasteItem": "Paste into the current context",
|
|
743
|
+
"duplicateItem": "Duplicate item",
|
|
744
|
+
"deleteItems": "Delete selected item(s)"
|
|
745
|
+
}
|
|
746
|
+
},
|
|
747
|
+
"search": {
|
|
748
|
+
"heading": "Search & Interface",
|
|
749
|
+
"items": {
|
|
750
|
+
"focusSearch": "Focus the search field",
|
|
751
|
+
"openHelp": "Open shortcut help",
|
|
752
|
+
"clearState": "Clear search / selection / focus"
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
},
|
|
756
|
+
"deleteTitle": "Delete {label}?",
|
|
757
|
+
"deleteDescription": "This action cannot be undone.",
|
|
758
|
+
"items": "items",
|
|
759
|
+
"selectedItem": "selected item",
|
|
760
|
+
"itemsDeleted": "{count} items deleted",
|
|
761
|
+
"itemDeleted": "Item deleted",
|
|
762
|
+
"itemsCopied": "{count} items copied",
|
|
763
|
+
"itemCopied": "Item copied",
|
|
764
|
+
"itemDuplicated": "Item duplicated",
|
|
765
|
+
"nothingToPaste": "Nothing to paste",
|
|
766
|
+
"newSessionCreated": "New session created",
|
|
767
|
+
"newLessonCreated": "New lesson created",
|
|
768
|
+
"newLessonSameSession": "New lesson created in the same session"
|
|
769
|
+
},
|
|
770
|
+
"displaySettings": {
|
|
771
|
+
"title": "List display settings",
|
|
772
|
+
"label": "Display",
|
|
773
|
+
"sectionTitle": "Lesson information",
|
|
774
|
+
"sectionDescription": "Choose what to show on each row",
|
|
775
|
+
"showStatusDot": {
|
|
776
|
+
"label": "Status dot",
|
|
777
|
+
"description": "Color indicating production stage"
|
|
778
|
+
},
|
|
779
|
+
"showVisibility": {
|
|
780
|
+
"label": "Visibility",
|
|
781
|
+
"description": "Public / private / restricted icon"
|
|
782
|
+
},
|
|
783
|
+
"showCode": {
|
|
784
|
+
"label": "Code",
|
|
785
|
+
"description": "Shows the identifier code"
|
|
786
|
+
},
|
|
787
|
+
"showVideoIndicator": {
|
|
788
|
+
"label": "Linked video",
|
|
789
|
+
"description": "Icon when a video lesson has a defined URL"
|
|
790
|
+
},
|
|
791
|
+
"showResourcesIndicator": {
|
|
792
|
+
"label": "Download resources",
|
|
793
|
+
"description": "Icon when files are attached"
|
|
794
|
+
},
|
|
795
|
+
"showTranscriptionIndicator": {
|
|
796
|
+
"label": "Transcription",
|
|
797
|
+
"description": "Icon when a video has transcription"
|
|
798
|
+
}
|
|
799
|
+
},
|
|
800
|
+
"lessonRow": {
|
|
801
|
+
"rename": "Rename lesson",
|
|
802
|
+
"visibility": "Visibility: {value}",
|
|
803
|
+
"status": "Status: {value}",
|
|
804
|
+
"videoLinked": "Linked video",
|
|
805
|
+
"resources": "{count} downloadable resource(s)",
|
|
806
|
+
"resourcesAria": "{count} resources",
|
|
807
|
+
"hasTranscription": "Has transcription"
|
|
808
|
+
},
|
|
809
|
+
"sessionRow": {
|
|
810
|
+
"collapse": "Collapse session",
|
|
811
|
+
"expand": "Expand session",
|
|
812
|
+
"rename": "Rename session",
|
|
813
|
+
"draft": "Draft",
|
|
814
|
+
"published": "Published"
|
|
815
|
+
},
|
|
654
816
|
"sessionForm": {
|
|
655
817
|
"titleCreate": "New Session",
|
|
656
818
|
"titleEdit": "Edit Session",
|
|
@@ -698,9 +860,7 @@
|
|
|
698
860
|
"leadInstructorHint": "The first selected instructor will be defined as lead.",
|
|
699
861
|
"videoConfig": "Video Configuration",
|
|
700
862
|
"provider": "Provider",
|
|
701
|
-
"videoUrl": "Video URL",
|
|
702
863
|
"videoUrlPlaceholder": "https://...",
|
|
703
|
-
"autoDuration": "Auto duration",
|
|
704
864
|
"autoDurationHelp": "Detect duration from video.",
|
|
705
865
|
"transcriptionUpload": "Transcription Upload",
|
|
706
866
|
"transcriptionUploadText": "Click to upload .txt, .srt, .vtt",
|
|
@@ -708,10 +868,7 @@
|
|
|
708
868
|
"videoUploadText": "Click to upload a video file",
|
|
709
869
|
"videoUploadHelp": "Only video files are accepted in this area.",
|
|
710
870
|
"linkExam": "Link Exam",
|
|
711
|
-
"linkedExam": "Linked exam",
|
|
712
|
-
"linkedExamPlaceholder": "Select an exam...",
|
|
713
871
|
"linkedExamHelp": "Student will be redirected to the exam when opening this lesson.",
|
|
714
|
-
"postContent": "Post Content",
|
|
715
872
|
"contentEditor": "Content Editor",
|
|
716
873
|
"bold": "Bold",
|
|
717
874
|
"italic": "Italic",
|
|
@@ -730,7 +887,6 @@
|
|
|
730
887
|
"upload": "Upload",
|
|
731
888
|
"dragOrClick": "Drag files or click to upload",
|
|
732
889
|
"fileTypes": "PDF, ZIP, PNG, JPG, MP4 (max 50MB)",
|
|
733
|
-
"noResources": "No resources added.",
|
|
734
890
|
"publicTooltip": "Public (click to make private)",
|
|
735
891
|
"privateTooltip": "Private (click to make public)",
|
|
736
892
|
"autoSaveSaving": "Saving automatically...",
|
|
@@ -807,6 +963,73 @@
|
|
|
807
963
|
"providers": {
|
|
808
964
|
"custom": "Custom"
|
|
809
965
|
},
|
|
966
|
+
"questionEditor": {
|
|
967
|
+
"identification": "Identification",
|
|
968
|
+
"publication": "Publication",
|
|
969
|
+
"productionStatus": "Production status",
|
|
970
|
+
"visibility": "Visibility",
|
|
971
|
+
"restricted": "Restricted",
|
|
972
|
+
"addInstructor": "Add instructor...",
|
|
973
|
+
"searchInstructor": "Search instructor...",
|
|
974
|
+
"noInstructorsAvailable": "No instructors available",
|
|
975
|
+
"instructorEntity": "Instructor",
|
|
976
|
+
"removeInstructor": "Remove {name}",
|
|
977
|
+
"uploading": "Uploading...",
|
|
978
|
+
"dropFile": "Drop the file here",
|
|
979
|
+
"clickToSelect": "or click to select",
|
|
980
|
+
"noLinkedResources": "No linked resources.",
|
|
981
|
+
"openInNewTab": "Open {name} in a new tab",
|
|
982
|
+
"downloadResource": "Download {name}",
|
|
983
|
+
"removeResource": "Remove {name}",
|
|
984
|
+
"resourceUploadFailed": "{count} file(s) could not be uploaded",
|
|
985
|
+
"resourceRemoveError": "Error removing file",
|
|
986
|
+
"resourceDownloadSoon": "Download for {name} coming soon",
|
|
987
|
+
"newQuestion": "New question",
|
|
988
|
+
"editQuestion": "Edit question",
|
|
989
|
+
"selectQuestion": "Select question...",
|
|
990
|
+
"searchQuestion": "Search question...",
|
|
991
|
+
"noQuestionsFound": "No questions found",
|
|
992
|
+
"questionEntity": "Question",
|
|
993
|
+
"pointsSuffix": "pt",
|
|
994
|
+
"statement": "Statement",
|
|
995
|
+
"type": "Type",
|
|
996
|
+
"points": "Points",
|
|
997
|
+
"alternatives": "Alternatives",
|
|
998
|
+
"add": "Add",
|
|
999
|
+
"dragAlternative": "Drag alternative",
|
|
1000
|
+
"alternativeTextPlaceholder": "Alternative text...",
|
|
1001
|
+
"markAsIncorrect": "Mark as incorrect",
|
|
1002
|
+
"markAsCorrect": "Mark as correct",
|
|
1003
|
+
"removeAlternative": "Remove alternative",
|
|
1004
|
+
"correctAnswer": "Correct answer",
|
|
1005
|
+
"blanks": "Blanks",
|
|
1006
|
+
"blankLabel": "Blank {count}",
|
|
1007
|
+
"removeBlank": "Remove blank",
|
|
1008
|
+
"correctAnswerPlaceholder": "Correct answer",
|
|
1009
|
+
"alternativesPlaceholder": "Alternatives separated by comma (optional)",
|
|
1010
|
+
"matchingPairs": "Matching pairs",
|
|
1011
|
+
"left": "Left",
|
|
1012
|
+
"right": "Right",
|
|
1013
|
+
"removePair": "Remove pair",
|
|
1014
|
+
"essayHelp": "Essay question — the student will answer in free text.",
|
|
1015
|
+
"saveChanges": "Save changes",
|
|
1016
|
+
"createQuestion": "Create question",
|
|
1017
|
+
"created": "Question created",
|
|
1018
|
+
"updated": "Question updated",
|
|
1019
|
+
"validation": {
|
|
1020
|
+
"codeRequired": "Code is required",
|
|
1021
|
+
"titleRequired": "Title is required",
|
|
1022
|
+
"statementRequired": "Statement is required",
|
|
1023
|
+
"correctAnswerRequired": "Select at least one correct answer"
|
|
1024
|
+
},
|
|
1025
|
+
"types": {
|
|
1026
|
+
"multipleChoice": "Multiple choice",
|
|
1027
|
+
"trueFalse": "True / False",
|
|
1028
|
+
"essay": "Essay",
|
|
1029
|
+
"fillBlank": "Fill in the blank",
|
|
1030
|
+
"matching": "Matching"
|
|
1031
|
+
}
|
|
1032
|
+
},
|
|
810
1033
|
"mockExams": {
|
|
811
1034
|
"hooksBasic": "Assessment: Basic Hooks",
|
|
812
1035
|
"hooksAdvanced": "Assessment: Advanced Hooks",
|
|
@@ -858,20 +1081,27 @@
|
|
|
858
1081
|
"tree": "Tree",
|
|
859
1082
|
"detail": "Details"
|
|
860
1083
|
},
|
|
861
|
-
"breadcrumbs": {
|
|
862
|
-
"lms": "LMS",
|
|
863
|
-
"courses": "Courses",
|
|
864
|
-
"structure": "Structure"
|
|
865
|
-
},
|
|
866
1084
|
"search": {
|
|
867
|
-
"placeholder": "Search..."
|
|
1085
|
+
"placeholder": "Search...",
|
|
1086
|
+
"noResults": "No results found",
|
|
1087
|
+
"results": "{count} result(s) found"
|
|
868
1088
|
},
|
|
869
1089
|
"tree": {
|
|
870
1090
|
"collapseAll": "Collapse all",
|
|
871
1091
|
"expandAll": "Expand all",
|
|
1092
|
+
"collapseAllShortcut": "Collapse all (Ctrl+Shift+E)",
|
|
1093
|
+
"expandAllShortcut": "Expand all (Ctrl+Shift+E)",
|
|
872
1094
|
"addItem": "Add item",
|
|
873
1095
|
"addSession": "New session"
|
|
874
1096
|
},
|
|
1097
|
+
"confirmDialog": {
|
|
1098
|
+
"cancel": "Cancel",
|
|
1099
|
+
"confirm": "Delete"
|
|
1100
|
+
},
|
|
1101
|
+
"mobile": {
|
|
1102
|
+
"openStructure": "Open course structure",
|
|
1103
|
+
"sheetTitle": "{title} — Structure"
|
|
1104
|
+
},
|
|
875
1105
|
"contextMenu": {
|
|
876
1106
|
"edit": "Edit",
|
|
877
1107
|
"addLesson": "Add lesson",
|
|
@@ -1012,6 +1242,16 @@
|
|
|
1012
1242
|
"description": "In minutes",
|
|
1013
1243
|
"required": true
|
|
1014
1244
|
},
|
|
1245
|
+
"primaryColor": {
|
|
1246
|
+
"label": "Primary Color",
|
|
1247
|
+
"description": "Select the primary color",
|
|
1248
|
+
"required": true
|
|
1249
|
+
},
|
|
1250
|
+
"secondaryColor": {
|
|
1251
|
+
"label": "Secondary Color",
|
|
1252
|
+
"description": "Select the secondary color",
|
|
1253
|
+
"required": true
|
|
1254
|
+
},
|
|
1015
1255
|
"status": {
|
|
1016
1256
|
"label": "Status",
|
|
1017
1257
|
"placeholder": "Select status",
|
|
@@ -1292,7 +1532,7 @@
|
|
|
1292
1532
|
"placeholder": "Full Stack Developer",
|
|
1293
1533
|
"required": true
|
|
1294
1534
|
},
|
|
1295
|
-
"
|
|
1535
|
+
"description": {
|
|
1296
1536
|
"label": "Description",
|
|
1297
1537
|
"placeholder": "Describe the training...",
|
|
1298
1538
|
"required": true
|
|
@@ -1319,6 +1559,14 @@
|
|
|
1319
1559
|
"label": "Prerequisites",
|
|
1320
1560
|
"placeholder": "Ex: Basic JavaScript"
|
|
1321
1561
|
},
|
|
1562
|
+
"primaryColor": {
|
|
1563
|
+
"label": "Primary Color",
|
|
1564
|
+
"placeholder": "#1D4ED8"
|
|
1565
|
+
},
|
|
1566
|
+
"secondaryColor": {
|
|
1567
|
+
"label": "Secondary Color",
|
|
1568
|
+
"placeholder": "#111827"
|
|
1569
|
+
},
|
|
1322
1570
|
"cursos": {
|
|
1323
1571
|
"label": "Training Courses",
|
|
1324
1572
|
"description": "Select the courses for the training",
|
|
@@ -1360,7 +1608,7 @@
|
|
|
1360
1608
|
"label": "Name",
|
|
1361
1609
|
"placeholder": "Ex: React for Beginners"
|
|
1362
1610
|
},
|
|
1363
|
-
"
|
|
1611
|
+
"description": {
|
|
1364
1612
|
"label": "Description",
|
|
1365
1613
|
"placeholder": "Describe the course content..."
|
|
1366
1614
|
},
|
|
@@ -1566,6 +1814,142 @@
|
|
|
1566
1814
|
"designSystem": "Design System"
|
|
1567
1815
|
}
|
|
1568
1816
|
},
|
|
1817
|
+
"CertificateTemplateEditor": {
|
|
1818
|
+
"page": {
|
|
1819
|
+
"toasts": {
|
|
1820
|
+
"invalidTemplate": "Invalid template, loaded with default configuration.",
|
|
1821
|
+
"loadError": "Could not load the selected template."
|
|
1822
|
+
}
|
|
1823
|
+
},
|
|
1824
|
+
"leftPanel": {
|
|
1825
|
+
"tabs": {
|
|
1826
|
+
"elements": "Elements",
|
|
1827
|
+
"assets": "Assets"
|
|
1828
|
+
},
|
|
1829
|
+
"sections": {
|
|
1830
|
+
"fields": "Fields",
|
|
1831
|
+
"text": "Text",
|
|
1832
|
+
"shapes": "Shapes",
|
|
1833
|
+
"image": "Image"
|
|
1834
|
+
},
|
|
1835
|
+
"elements": {
|
|
1836
|
+
"staticText": "Fixed Text",
|
|
1837
|
+
"rectangle": "Rectangle",
|
|
1838
|
+
"line": "Line",
|
|
1839
|
+
"image": "Image"
|
|
1840
|
+
},
|
|
1841
|
+
"background": {
|
|
1842
|
+
"title": "Certificate Background",
|
|
1843
|
+
"upload": "Upload background image",
|
|
1844
|
+
"description": "The image will be set as the certificate background and locked (not selectable)."
|
|
1845
|
+
}
|
|
1846
|
+
},
|
|
1847
|
+
"topBar": {
|
|
1848
|
+
"templateNameAriaLabel": "Template name",
|
|
1849
|
+
"actions": {
|
|
1850
|
+
"new": "New",
|
|
1851
|
+
"save": "Save",
|
|
1852
|
+
"exportJson": "Export JSON",
|
|
1853
|
+
"importJson": "Import JSON",
|
|
1854
|
+
"snap": "Snap",
|
|
1855
|
+
"grid": "Grid",
|
|
1856
|
+
"margins": "Margins",
|
|
1857
|
+
"zoomOut": "Zoom out",
|
|
1858
|
+
"zoomIn": "Zoom in",
|
|
1859
|
+
"resetZoom": "Reset zoom"
|
|
1860
|
+
},
|
|
1861
|
+
"tooltips": {
|
|
1862
|
+
"newTemplate": "New template",
|
|
1863
|
+
"saveDatabase": "Save to database",
|
|
1864
|
+
"saveLocalStorage": "Save to localStorage",
|
|
1865
|
+
"exportJson": "Export JSON",
|
|
1866
|
+
"importJson": "Import JSON",
|
|
1867
|
+
"disableSnap": "Disable snap",
|
|
1868
|
+
"enableSnap": "Enable snap",
|
|
1869
|
+
"hideGrid": "Hide grid",
|
|
1870
|
+
"showGrid": "Show grid",
|
|
1871
|
+
"hideMargins": "Hide margins",
|
|
1872
|
+
"showMargins": "Show safe margins",
|
|
1873
|
+
"zoomOut": "Zoom -",
|
|
1874
|
+
"zoomIn": "Zoom +",
|
|
1875
|
+
"resetZoom": "Reset zoom + pan (50%)"
|
|
1876
|
+
},
|
|
1877
|
+
"shortcuts": {
|
|
1878
|
+
"ctrlScrollZoom": "Ctrl+Scroll: zoom",
|
|
1879
|
+
"spaceDragPan": "Space+Drag: pan",
|
|
1880
|
+
"delDelete": "Del: delete",
|
|
1881
|
+
"ctrlDDuplicate": "Ctrl+D: duplicate"
|
|
1882
|
+
},
|
|
1883
|
+
"toasts": {
|
|
1884
|
+
"autoSaveError": "Automatic save failed",
|
|
1885
|
+
"created": "New template created",
|
|
1886
|
+
"savedLocalStorage": "Template saved to localStorage",
|
|
1887
|
+
"saved": "Template saved",
|
|
1888
|
+
"saveError": "Failed to save template",
|
|
1889
|
+
"exportedJson": "JSON exported",
|
|
1890
|
+
"invalidJson": "Invalid JSON: schema or version mismatch",
|
|
1891
|
+
"imported": "Template imported successfully",
|
|
1892
|
+
"readJsonError": "Error reading JSON"
|
|
1893
|
+
}
|
|
1894
|
+
},
|
|
1895
|
+
"rightPanel": {
|
|
1896
|
+
"tabs": {
|
|
1897
|
+
"properties": "Properties",
|
|
1898
|
+
"layers": "Layers",
|
|
1899
|
+
"data": "Data"
|
|
1900
|
+
},
|
|
1901
|
+
"emptySelection": "Select an object on the canvas to edit its properties.",
|
|
1902
|
+
"common": {
|
|
1903
|
+
"color": "Color"
|
|
1904
|
+
},
|
|
1905
|
+
"text": {
|
|
1906
|
+
"font": "Font",
|
|
1907
|
+
"size": "Size ({size}px)",
|
|
1908
|
+
"weight": "Weight",
|
|
1909
|
+
"weights": {
|
|
1910
|
+
"normal": "Normal (400)",
|
|
1911
|
+
"semiBold": "Semi-Bold (600)",
|
|
1912
|
+
"bold": "Bold (700)"
|
|
1913
|
+
},
|
|
1914
|
+
"italic": "Italic",
|
|
1915
|
+
"color": "Text color",
|
|
1916
|
+
"alignment": "Alignment",
|
|
1917
|
+
"alignments": {
|
|
1918
|
+
"left": "Left",
|
|
1919
|
+
"center": "Center",
|
|
1920
|
+
"right": "Right"
|
|
1921
|
+
}
|
|
1922
|
+
},
|
|
1923
|
+
"stroke": {
|
|
1924
|
+
"title": "Text stroke",
|
|
1925
|
+
"width": "Thickness ({size}px)"
|
|
1926
|
+
},
|
|
1927
|
+
"shadow": {
|
|
1928
|
+
"title": "Shadow",
|
|
1929
|
+
"offsetX": "Offset X ({size}px)",
|
|
1930
|
+
"offsetY": "Offset Y ({size}px)",
|
|
1931
|
+
"blur": "Blur ({size}px)"
|
|
1932
|
+
},
|
|
1933
|
+
"shape": {
|
|
1934
|
+
"fill": "Fill",
|
|
1935
|
+
"borderColor": "Border color",
|
|
1936
|
+
"borderWidth": "Border thickness ({size}px)"
|
|
1937
|
+
}
|
|
1938
|
+
}
|
|
1939
|
+
},
|
|
1940
|
+
"CreateLmsPersonSheet": {
|
|
1941
|
+
"errors": {
|
|
1942
|
+
"personNotFound": "Could not find the registered person.",
|
|
1943
|
+
"linkInstructorFailed": "Could not link the professor."
|
|
1944
|
+
}
|
|
1945
|
+
},
|
|
1946
|
+
"CreateLmsStudentPersonSheet": {
|
|
1947
|
+
"errors": {
|
|
1948
|
+
"personNotFound": "Could not find the registered person.",
|
|
1949
|
+
"alreadyEnrolled": "This person is already enrolled in the class.",
|
|
1950
|
+
"enrollFailed": "Could not enroll the student."
|
|
1951
|
+
}
|
|
1952
|
+
},
|
|
1569
1953
|
"ReportsCoursesPage": {
|
|
1570
1954
|
"title": "Course Report",
|
|
1571
1955
|
"description": "Track enrollments, completion, and course performance in a single dashboard.",
|
|
@@ -2355,7 +2739,9 @@
|
|
|
2355
2739
|
},
|
|
2356
2740
|
"professor": {
|
|
2357
2741
|
"label": "Professor",
|
|
2358
|
-
"placeholder": "Professor's name"
|
|
2742
|
+
"placeholder": "Professor's name",
|
|
2743
|
+
"emptyState": "No professor found.",
|
|
2744
|
+
"noResults": "No professor found."
|
|
2359
2745
|
},
|
|
2360
2746
|
"vacancies": {
|
|
2361
2747
|
"label": "Vacancies"
|
|
@@ -2483,6 +2869,22 @@
|
|
|
2483
2869
|
"label": "Actions"
|
|
2484
2870
|
}
|
|
2485
2871
|
},
|
|
2872
|
+
"messages": {
|
|
2873
|
+
"classLoadError": "Failed to load class data.",
|
|
2874
|
+
"classCreateCourseError": "Failed to create course.",
|
|
2875
|
+
"classSaveError": "Failed to save class.",
|
|
2876
|
+
"classDeleteError": "Failed to delete class."
|
|
2877
|
+
},
|
|
2878
|
+
"sheet": {
|
|
2879
|
+
"lessonForm": {
|
|
2880
|
+
"createInstructor": "Register instructor",
|
|
2881
|
+
"createInstructorTitle": "Register Instructor",
|
|
2882
|
+
"createInstructorDescription": "Create a new instructor to select for this lesson.",
|
|
2883
|
+
"createInstructorSubmit": "Register",
|
|
2884
|
+
"createInstructorSuccess": "Instructor registered successfully.",
|
|
2885
|
+
"createInstructorError": "Could not register the instructor."
|
|
2886
|
+
}
|
|
2887
|
+
},
|
|
2486
2888
|
"DetailPage": {
|
|
2487
2889
|
"breadcrumbs": {
|
|
2488
2890
|
"home": "Home",
|
|
@@ -2492,7 +2894,31 @@
|
|
|
2492
2894
|
},
|
|
2493
2895
|
"actions": {
|
|
2494
2896
|
"viewCourse": "View Course",
|
|
2495
|
-
"newLesson": "New Lesson"
|
|
2897
|
+
"newLesson": "New Lesson",
|
|
2898
|
+
"editClass": "Edit class"
|
|
2899
|
+
},
|
|
2900
|
+
"kpis": {
|
|
2901
|
+
"enrolledStudents": {
|
|
2902
|
+
"label": "Enrolled Students",
|
|
2903
|
+
"sub": "of {vagas} spots"
|
|
2904
|
+
},
|
|
2905
|
+
"occupancyRate": {
|
|
2906
|
+
"label": "Occupancy Rate",
|
|
2907
|
+
"subFree": "{count} spots available",
|
|
2908
|
+
"subFull": "Full"
|
|
2909
|
+
},
|
|
2910
|
+
"avgAttendance": {
|
|
2911
|
+
"label": "Average Attendance",
|
|
2912
|
+
"sub": "overall attendance"
|
|
2913
|
+
},
|
|
2914
|
+
"completedLessons": {
|
|
2915
|
+
"label": "Completed Lessons",
|
|
2916
|
+
"sub": "of {total} total"
|
|
2917
|
+
}
|
|
2918
|
+
},
|
|
2919
|
+
"links": {
|
|
2920
|
+
"studyRefPlaceholder": "E.g.: Study reference",
|
|
2921
|
+
"lessonSlidesPlaceholder": "E.g.: Lesson slides"
|
|
2496
2922
|
},
|
|
2497
2923
|
"calendar": {
|
|
2498
2924
|
"today": "Today",
|
|
@@ -2651,11 +3077,11 @@
|
|
|
2651
3077
|
"titleEdit": "Edit Lesson",
|
|
2652
3078
|
"descriptionCreate": "Fill in the data to create a new lesson.",
|
|
2653
3079
|
"descriptionEdit": "Update the lesson data.",
|
|
2654
|
-
"createInstructorTitle": "Register
|
|
2655
|
-
"createInstructorDescription": "Create a new
|
|
3080
|
+
"createInstructorTitle": "Register Instructor",
|
|
3081
|
+
"createInstructorDescription": "Create a new instructor to select for this lesson.",
|
|
2656
3082
|
"createInstructorSubmit": "Register",
|
|
2657
|
-
"createInstructorSuccess": "
|
|
2658
|
-
"createInstructorError": "Could not register the
|
|
3083
|
+
"createInstructorSuccess": "Instructor registered successfully.",
|
|
3084
|
+
"createInstructorError": "Could not register the instructor.",
|
|
2659
3085
|
"fields": {
|
|
2660
3086
|
"title": "Title",
|
|
2661
3087
|
"titlePlaceholder": "E.g.: Introduction to Hooks",
|
|
@@ -2664,10 +3090,10 @@
|
|
|
2664
3090
|
"select": "Select",
|
|
2665
3091
|
"startTime": "Start Time",
|
|
2666
3092
|
"endTime": "End Time",
|
|
2667
|
-
"instructor": "
|
|
2668
|
-
"instructorPlaceholder": "Select the
|
|
2669
|
-
"instructorNotFound": "No
|
|
2670
|
-
"createInstructor": "Register
|
|
3093
|
+
"instructor": "Instructor",
|
|
3094
|
+
"instructorPlaceholder": "Select the instructor",
|
|
3095
|
+
"instructorNotFound": "No instructor found.",
|
|
3096
|
+
"createInstructor": "Register instructor",
|
|
2671
3097
|
"location": "Location / Link",
|
|
2672
3098
|
"locationPlaceholder": "Room 201 or https://meet.google.com/...",
|
|
2673
3099
|
"color": "Color",
|
|
@@ -2727,25 +3153,6 @@
|
|
|
2727
3153
|
"save": "Save Attendance"
|
|
2728
3154
|
}
|
|
2729
3155
|
},
|
|
2730
|
-
"kpis": {
|
|
2731
|
-
"enrolledStudents": {
|
|
2732
|
-
"label": "Enrolled Students",
|
|
2733
|
-
"sub": "of {vagas} spots"
|
|
2734
|
-
},
|
|
2735
|
-
"occupancyRate": {
|
|
2736
|
-
"label": "Occupancy Rate",
|
|
2737
|
-
"subFree": "{count} spots available",
|
|
2738
|
-
"subFull": "Full"
|
|
2739
|
-
},
|
|
2740
|
-
"avgAttendance": {
|
|
2741
|
-
"label": "Average Attendance",
|
|
2742
|
-
"sub": "overall attendance"
|
|
2743
|
-
},
|
|
2744
|
-
"completedLessons": {
|
|
2745
|
-
"label": "Completed Lessons",
|
|
2746
|
-
"sub": "of {total} total"
|
|
2747
|
-
}
|
|
2748
|
-
},
|
|
2749
3156
|
"quickCreate": {
|
|
2750
3157
|
"title": "New Lesson",
|
|
2751
3158
|
"titlePlaceholder": "Lesson title",
|
|
@@ -2817,6 +3224,28 @@
|
|
|
2817
3224
|
"attendanceSaving": "Saving attendance...",
|
|
2818
3225
|
"attendanceSaved": "Attendance saved successfully!",
|
|
2819
3226
|
"error": "An error occurred. Please try again."
|
|
3227
|
+
},
|
|
3228
|
+
"messages": {
|
|
3229
|
+
"linkAddError": "Failed to add the link.",
|
|
3230
|
+
"materialRemoveError": "Failed to remove the material.",
|
|
3231
|
+
"courseUpdateSuccess": "Course updated successfully.",
|
|
3232
|
+
"courseSaveError": "Failed to save the course.",
|
|
3233
|
+
"noEligiblePersonFound": "No eligible person found for enrollment.",
|
|
3234
|
+
"personAlreadyEnrolled": "This person is already enrolled in the class.",
|
|
3235
|
+
"lessonRemovedSuccess": "Lesson removed successfully.",
|
|
3236
|
+
"classCourseNotFound": "Could not find the course for this class."
|
|
3237
|
+
}
|
|
3238
|
+
},
|
|
3239
|
+
"components": {
|
|
3240
|
+
"entityPicker": {
|
|
3241
|
+
"courses": {
|
|
3242
|
+
"empty": "No courses found.",
|
|
3243
|
+
"loading": "Loading courses..."
|
|
3244
|
+
},
|
|
3245
|
+
"instructors": {
|
|
3246
|
+
"empty": "No instructors found.",
|
|
3247
|
+
"loading": "Loading instructors..."
|
|
3248
|
+
}
|
|
2820
3249
|
}
|
|
2821
3250
|
}
|
|
2822
3251
|
},
|
|
@@ -3047,6 +3476,289 @@
|
|
|
3047
3476
|
"description": "This will permanently delete \"{name}\" and all associated data. This action cannot be undone.",
|
|
3048
3477
|
"confirm": "Delete",
|
|
3049
3478
|
"cancel": "Cancel"
|
|
3479
|
+
},
|
|
3480
|
+
"sheet": {
|
|
3481
|
+
"createTitle": "New enterprise account",
|
|
3482
|
+
"editTitle": "Edit enterprise account",
|
|
3483
|
+
"createDescription": "Register a new corporate account in the LMS platform.",
|
|
3484
|
+
"editDescription": "Update the corporate account details below.",
|
|
3485
|
+
"fields": {
|
|
3486
|
+
"name": "Name",
|
|
3487
|
+
"namePlaceholder": "e.g. Techcorp Brasil",
|
|
3488
|
+
"slug": "Slug / Internal code",
|
|
3489
|
+
"slugPlaceholder": "techcorp-brasil",
|
|
3490
|
+
"slugDescription": "Unique identifier used internally and in URLs. Auto-filled from the name when creating.",
|
|
3491
|
+
"status": "Status",
|
|
3492
|
+
"company": "Company",
|
|
3493
|
+
"companyPlaceholder": "Select company...",
|
|
3494
|
+
"companySearchPlaceholder": "Search by name...",
|
|
3495
|
+
"companyEmpty": "No linked company",
|
|
3496
|
+
"companyEntity": "company",
|
|
3497
|
+
"companyCreateName": "Name",
|
|
3498
|
+
"companyCreateNamePlaceholder": "E.g. Techcorp Brasil Ltd",
|
|
3499
|
+
"portalEnabled": "Portal enabled",
|
|
3500
|
+
"portalEnabledDescription": "Allow this account to access the self-service learning portal.",
|
|
3501
|
+
"licenseLimit": "License limit",
|
|
3502
|
+
"licenseLimitPlaceholder": "e.g. 500 — leave blank for unlimited",
|
|
3503
|
+
"licenseLimitDescription": "Maximum number of active users. Leave blank for unlimited.",
|
|
3504
|
+
"notes": "Notes",
|
|
3505
|
+
"notesPlaceholder": "Internal notes about this account..."
|
|
3506
|
+
},
|
|
3507
|
+
"status": {
|
|
3508
|
+
"active": "Active",
|
|
3509
|
+
"trial": "Trial",
|
|
3510
|
+
"inactive": "Inactive",
|
|
3511
|
+
"suspended": "Suspended"
|
|
3512
|
+
},
|
|
3513
|
+
"actions": {
|
|
3514
|
+
"cancel": "Cancel",
|
|
3515
|
+
"saveChanges": "Save changes",
|
|
3516
|
+
"create": "Create account"
|
|
3517
|
+
},
|
|
3518
|
+
"messages": {
|
|
3519
|
+
"createSuccess": "Account created successfully.",
|
|
3520
|
+
"createError": "Failed to create account.",
|
|
3521
|
+
"updateSuccess": "Account updated successfully.",
|
|
3522
|
+
"updateError": "Failed to update account."
|
|
3523
|
+
},
|
|
3524
|
+
"adminCreated": "Failed to create administrator account.",
|
|
3525
|
+
"studentCreated": "Failed to create person.",
|
|
3526
|
+
"adminAddError": "Failed to add administrator.",
|
|
3527
|
+
"adminLinkError": "Failed to link user to enterprise.",
|
|
3528
|
+
"studentAddError": "Failed to add student.",
|
|
3529
|
+
"studentLinkError": "Person created but failed to link to enterprise.",
|
|
3530
|
+
"adminRoleUpdating": "Saving role…",
|
|
3531
|
+
"adminRoleUpdated": "Role updated.",
|
|
3532
|
+
"adminRoleUpdateError": "Failed to update role.",
|
|
3533
|
+
"adminRemoving": "Removing administrator…",
|
|
3534
|
+
"adminRemoved": "Administrator removed.",
|
|
3535
|
+
"adminRemoveError": "Failed to remove administrator.",
|
|
3536
|
+
"studentRemoving": "Removing student…",
|
|
3537
|
+
"studentRemoved": "Student removed.",
|
|
3538
|
+
"studentRemoveError": "Failed to remove student."
|
|
3539
|
+
},
|
|
3540
|
+
"form": {
|
|
3541
|
+
"toasts": {
|
|
3542
|
+
"courseCreated": "Course created successfully! Redirecting...",
|
|
3543
|
+
"courseCreateError": "Failed to create the course."
|
|
3544
|
+
}
|
|
3545
|
+
}
|
|
3546
|
+
},
|
|
3547
|
+
"InstructorsPage": {
|
|
3548
|
+
"breadcrumbs": {
|
|
3549
|
+
"home": "Home",
|
|
3550
|
+
"lms": "LMS",
|
|
3551
|
+
"instructors": "Instructors"
|
|
3552
|
+
},
|
|
3553
|
+
"header": {
|
|
3554
|
+
"title": "Instructors",
|
|
3555
|
+
"description": "Manage instructor profiles on the platform."
|
|
3556
|
+
},
|
|
3557
|
+
"kpis": {
|
|
3558
|
+
"total": "Total instructors",
|
|
3559
|
+
"active": "Active",
|
|
3560
|
+
"inactive": "Inactive"
|
|
3561
|
+
},
|
|
3562
|
+
"search": {
|
|
3563
|
+
"placeholder": "Search by name or email..."
|
|
3564
|
+
},
|
|
3565
|
+
"filters": {
|
|
3566
|
+
"statusPlaceholder": "Filter by status",
|
|
3567
|
+
"allStatuses": "All statuses",
|
|
3568
|
+
"qualificationPlaceholder": "Filter by qualification",
|
|
3569
|
+
"allQualifications": "All qualifications"
|
|
3570
|
+
},
|
|
3571
|
+
"viewMode": {
|
|
3572
|
+
"label": "View",
|
|
3573
|
+
"ariaLabel": "View mode",
|
|
3574
|
+
"table": "Table",
|
|
3575
|
+
"tableAriaLabel": "Table",
|
|
3576
|
+
"cards": "Cards",
|
|
3577
|
+
"cardsAriaLabel": "Cards"
|
|
3578
|
+
},
|
|
3579
|
+
"table": {
|
|
3580
|
+
"instructor": "Instructor",
|
|
3581
|
+
"email": "Email",
|
|
3582
|
+
"phone": "Phone",
|
|
3583
|
+
"qualifications": "Qualifications",
|
|
3584
|
+
"skills": "Skills",
|
|
3585
|
+
"hourlyRate": "Hourly rate",
|
|
3586
|
+
"training": "Training",
|
|
3587
|
+
"status": "Status"
|
|
3588
|
+
},
|
|
3589
|
+
"emptyState": {
|
|
3590
|
+
"title": "No instructors found",
|
|
3591
|
+
"description": "Create a new instructor or adjust the search filters."
|
|
3592
|
+
},
|
|
3593
|
+
"qualificationLabels": {
|
|
3594
|
+
"courseLessons": "Course lessons",
|
|
3595
|
+
"classSessions": "Class sessions"
|
|
3596
|
+
},
|
|
3597
|
+
"actions": {
|
|
3598
|
+
"edit": "Edit",
|
|
3599
|
+
"delete": "Delete",
|
|
3600
|
+
"cancel": "Cancel",
|
|
3601
|
+
"deleting": "Deleting..."
|
|
3602
|
+
},
|
|
3603
|
+
"training": {
|
|
3604
|
+
"active": "Active",
|
|
3605
|
+
"disabled": "Disabled"
|
|
3606
|
+
},
|
|
3607
|
+
"deleteDialog": {
|
|
3608
|
+
"title": "Delete instructor",
|
|
3609
|
+
"description": "Are you sure you want to delete the instructor {name}? This action cannot be undone."
|
|
3610
|
+
},
|
|
3611
|
+
"messages": {
|
|
3612
|
+
"instructorRemovedSuccess": "Instructor removed successfully.",
|
|
3613
|
+
"instructorRemoveError": "Failed to remove instructor. Please try again."
|
|
3614
|
+
},
|
|
3615
|
+
"form": {
|
|
3616
|
+
"title": "New Instructor",
|
|
3617
|
+
"description": "Link an existing person or create a new one to register as an instructor.",
|
|
3618
|
+
"tabs": {
|
|
3619
|
+
"details": "Details",
|
|
3620
|
+
"skills": "Skills",
|
|
3621
|
+
"classes": "Classes",
|
|
3622
|
+
"evaluations": "Evaluations"
|
|
3623
|
+
},
|
|
3624
|
+
"fields": {
|
|
3625
|
+
"person": "Person",
|
|
3626
|
+
"personRequired": "Select a person",
|
|
3627
|
+
"qualificationsRequired": "Select at least one qualification",
|
|
3628
|
+
"searchPerson": "Search or select a person...",
|
|
3629
|
+
"editPerson": "Edit person's record",
|
|
3630
|
+
"status": "Status",
|
|
3631
|
+
"active": "Active",
|
|
3632
|
+
"inactive": "Inactive",
|
|
3633
|
+
"hourlyRate": "Hourly Rate (R$)",
|
|
3634
|
+
"hourlyRatePlaceholder": "E.g. 150.00",
|
|
3635
|
+
"canTeachCourses": "Can teach courses",
|
|
3636
|
+
"canTeachCoursesHint": "Allows the instructor to be linked to course lessons.",
|
|
3637
|
+
"trainingAccess": "Hcode Training Access",
|
|
3638
|
+
"trainingAccessHint": "Allows this instructor to access the platform with instructor profile.",
|
|
3639
|
+
"noUserLinked": "No user linked to this record. Link a user to enable.",
|
|
3640
|
+
"qualifications": "Qualifications"
|
|
3641
|
+
},
|
|
3642
|
+
"qualificationDescriptions": {
|
|
3643
|
+
"courseLessons": "Can work on recorded lessons and course structure.",
|
|
3644
|
+
"classSessions": "Can work in live contexts and classes."
|
|
3645
|
+
},
|
|
3646
|
+
"classStatuses": {
|
|
3647
|
+
"inProgress": "In progress",
|
|
3648
|
+
"upcoming": "Upcoming",
|
|
3649
|
+
"completed": "Completed",
|
|
3650
|
+
"cancelled": "Cancelled"
|
|
3651
|
+
},
|
|
3652
|
+
"classes": {
|
|
3653
|
+
"emptyTitle": "No classes found",
|
|
3654
|
+
"emptyDescription": "This instructor is not linked to any classes yet.",
|
|
3655
|
+
"start": "Start:",
|
|
3656
|
+
"end": "End:",
|
|
3657
|
+
"students": "{count} student(s)"
|
|
3658
|
+
},
|
|
3659
|
+
"evaluations": {
|
|
3660
|
+
"comingSoonTitle": "Evaluations — feature coming soon",
|
|
3661
|
+
"comingSoonDescription": "Soon you will be able to view the evaluations submitted by students."
|
|
3662
|
+
},
|
|
3663
|
+
"skills": {
|
|
3664
|
+
"title": "Manage Skills",
|
|
3665
|
+
"description": "Manage the skills associated with this instructor.",
|
|
3666
|
+
"none": "No skills assigned.",
|
|
3667
|
+
"addSkill": "Add skill...",
|
|
3668
|
+
"noSkills": "No skills available",
|
|
3669
|
+
"newSkill": "New skill",
|
|
3670
|
+
"newSkillDescription": "Register a new skill to link to the instructor.",
|
|
3671
|
+
"removeSkill": "Remove skill {skill}",
|
|
3672
|
+
"createFields": {
|
|
3673
|
+
"name": "Name",
|
|
3674
|
+
"namePlaceholder": "E.g. JavaScript",
|
|
3675
|
+
"slug": "Slug (optional)",
|
|
3676
|
+
"slugPlaceholder": "E.g. javascript"
|
|
3677
|
+
}
|
|
3678
|
+
},
|
|
3679
|
+
"buttons": {
|
|
3680
|
+
"cancel": "Cancel",
|
|
3681
|
+
"save": "Save changes",
|
|
3682
|
+
"create": "Create instructor",
|
|
3683
|
+
"saveSkills": "Save skills"
|
|
3684
|
+
},
|
|
3685
|
+
"toasts": {
|
|
3686
|
+
"skillsSaved": "Skills updated successfully.",
|
|
3687
|
+
"skillsError": "Error saving skills.",
|
|
3688
|
+
"instructorUpdated": "Instructor updated successfully.",
|
|
3689
|
+
"instructorCreated": "Instructor created successfully.",
|
|
3690
|
+
"updateError": "Error updating instructor. Please try again.",
|
|
3691
|
+
"createError": "Error creating instructor. Please try again.",
|
|
3692
|
+
"accessEnabled": "Training access enabled.",
|
|
3693
|
+
"accessDisabled": "Training access disabled.",
|
|
3694
|
+
"accessError": "Error changing Training access."
|
|
3695
|
+
}
|
|
3696
|
+
}
|
|
3697
|
+
},
|
|
3698
|
+
"InstructorSkillsPage": {
|
|
3699
|
+
"title": "Instructor Skills",
|
|
3700
|
+
"description": "Manage the catalog of skills available for instructors.",
|
|
3701
|
+
"breadcrumbs": {
|
|
3702
|
+
"home": "Home",
|
|
3703
|
+
"lms": "LMS",
|
|
3704
|
+
"current": "Instructor Skills"
|
|
3705
|
+
},
|
|
3706
|
+
"filters": {
|
|
3707
|
+
"searchPlaceholder": "Search by slug or name..."
|
|
3708
|
+
},
|
|
3709
|
+
"table": {
|
|
3710
|
+
"slug": "Slug",
|
|
3711
|
+
"namePt": "Name (PT)",
|
|
3712
|
+
"nameEn": "Name (EN)",
|
|
3713
|
+
"status": "Status"
|
|
3714
|
+
},
|
|
3715
|
+
"form": {
|
|
3716
|
+
"slug": "Slug",
|
|
3717
|
+
"slugPlaceholder": "e.g. javascript, react-js",
|
|
3718
|
+
"namePt": "Name (PT)",
|
|
3719
|
+
"namePtPlaceholder": "Portuguese name",
|
|
3720
|
+
"nameEn": "Name (EN)",
|
|
3721
|
+
"nameEnPlaceholder": "Name in English (optional)",
|
|
3722
|
+
"status": "Status",
|
|
3723
|
+
"statusPlaceholder": "Select status",
|
|
3724
|
+
"validation": {
|
|
3725
|
+
"required": "Required",
|
|
3726
|
+
"max100": "Maximum 100 characters",
|
|
3727
|
+
"max255": "Maximum 255 characters",
|
|
3728
|
+
"slugPattern": "Use only lowercase letters, numbers and hyphens"
|
|
3729
|
+
}
|
|
3730
|
+
},
|
|
3731
|
+
"sheet": {
|
|
3732
|
+
"createTitle": "New Skill",
|
|
3733
|
+
"editTitle": "Edit Skill"
|
|
3734
|
+
},
|
|
3735
|
+
"status": {
|
|
3736
|
+
"active": "Active",
|
|
3737
|
+
"inactive": "Inactive"
|
|
3738
|
+
},
|
|
3739
|
+
"actions": {
|
|
3740
|
+
"create": "New Skill",
|
|
3741
|
+
"edit": "Edit",
|
|
3742
|
+
"delete": "Delete",
|
|
3743
|
+
"save": "Save",
|
|
3744
|
+
"saving": "Saving...",
|
|
3745
|
+
"cancel": "Cancel",
|
|
3746
|
+
"deleting": "Deleting..."
|
|
3747
|
+
},
|
|
3748
|
+
"messages": {
|
|
3749
|
+
"createSuccess": "Skill created successfully.",
|
|
3750
|
+
"updateSuccess": "Skill updated successfully.",
|
|
3751
|
+
"saveError": "Error saving skill. Please try again.",
|
|
3752
|
+
"deleteSuccess": "Skill removed successfully.",
|
|
3753
|
+
"deleteError": "Error removing skill. Please try again."
|
|
3754
|
+
},
|
|
3755
|
+
"empty": {
|
|
3756
|
+
"title": "No skills found",
|
|
3757
|
+
"description": "Create a new skill or adjust the search filters."
|
|
3758
|
+
},
|
|
3759
|
+
"deleteDialog": {
|
|
3760
|
+
"title": "Delete skill",
|
|
3761
|
+
"description": "Are you sure you want to delete the skill \"{slug}\"? This action cannot be undone."
|
|
3050
3762
|
}
|
|
3051
3763
|
},
|
|
3052
3764
|
"EnterpriseDetailPage": {
|
|
@@ -3083,8 +3795,18 @@
|
|
|
3083
3795
|
"contractedClasses": {
|
|
3084
3796
|
"label": "Classes",
|
|
3085
3797
|
"description": "Contracted classes"
|
|
3798
|
+
},
|
|
3799
|
+
"users": {
|
|
3800
|
+
"label": "Users",
|
|
3801
|
+
"description": "Total linked users"
|
|
3086
3802
|
}
|
|
3087
3803
|
},
|
|
3804
|
+
"status": {
|
|
3805
|
+
"active": "Active",
|
|
3806
|
+
"trial": "Trial",
|
|
3807
|
+
"inactive": "Inactive",
|
|
3808
|
+
"suspended": "Suspended"
|
|
3809
|
+
},
|
|
3088
3810
|
"tabs": {
|
|
3089
3811
|
"overview": "Overview",
|
|
3090
3812
|
"users": "Users",
|
|
@@ -3093,12 +3815,27 @@
|
|
|
3093
3815
|
"billing": "Billing",
|
|
3094
3816
|
"students": "Students",
|
|
3095
3817
|
"administrators": "Administrators",
|
|
3096
|
-
"empresa": "Company"
|
|
3818
|
+
"empresa": "Company",
|
|
3819
|
+
"crm": "CRM"
|
|
3097
3820
|
},
|
|
3098
3821
|
"overview": {
|
|
3099
3822
|
"accountInfo": "Account Information",
|
|
3100
3823
|
"contactDetails": "Contact Details",
|
|
3101
|
-
"crmAccount": "CRM Account"
|
|
3824
|
+
"crmAccount": "CRM Account",
|
|
3825
|
+
"slug": "Slug:",
|
|
3826
|
+
"created": "Created:",
|
|
3827
|
+
"updated": "Updated:",
|
|
3828
|
+
"portalEnabled": "Portal enabled"
|
|
3829
|
+
},
|
|
3830
|
+
"crm": {
|
|
3831
|
+
"noLinked": "No CRM account linked",
|
|
3832
|
+
"noLinkedDesc": "This enterprise account is not yet associated with a CRM commercial account. Link one to keep both records in sync.",
|
|
3833
|
+
"linkButton": "Link CRM account",
|
|
3834
|
+
"openButton": "Open in CRM",
|
|
3835
|
+
"accountRef": "CRM Account #{id}",
|
|
3836
|
+
"accountNameLabel": "Account name",
|
|
3837
|
+
"crmIdLabel": "CRM ID",
|
|
3838
|
+
"readNote": "Data is read from the CRM. Use Open in CRM to manage the commercial account directly."
|
|
3102
3839
|
},
|
|
3103
3840
|
"users": {
|
|
3104
3841
|
"title": "Enrolled Users",
|
|
@@ -3148,6 +3885,123 @@
|
|
|
3148
3885
|
"createdLabel": "Created",
|
|
3149
3886
|
"updatedLabel": "Updated",
|
|
3150
3887
|
"editHint": "Edit"
|
|
3888
|
+
},
|
|
3889
|
+
"relatedCourses": {
|
|
3890
|
+
"searchPlaceholder": "Search by course name...",
|
|
3891
|
+
"pickerPlaceholder": "Select a course...",
|
|
3892
|
+
"pickerEntityLabel": "course",
|
|
3893
|
+
"filters": {
|
|
3894
|
+
"allStatuses": "All statuses"
|
|
3895
|
+
},
|
|
3896
|
+
"status": {
|
|
3897
|
+
"published": "Published",
|
|
3898
|
+
"draft": "Draft",
|
|
3899
|
+
"archived": "Archived"
|
|
3900
|
+
},
|
|
3901
|
+
"actions": {
|
|
3902
|
+
"create": "Create new course",
|
|
3903
|
+
"add": "Add"
|
|
3904
|
+
},
|
|
3905
|
+
"empty": {
|
|
3906
|
+
"title": "No courses found.",
|
|
3907
|
+
"description": "Adjust the search or status filter to see results."
|
|
3908
|
+
},
|
|
3909
|
+
"table": {
|
|
3910
|
+
"course": "Course",
|
|
3911
|
+
"modality": "Modality",
|
|
3912
|
+
"status": "Status",
|
|
3913
|
+
"contracted": "Contracted"
|
|
3914
|
+
},
|
|
3915
|
+
"messages": {
|
|
3916
|
+
"removeSuccess": "Course removed from enterprise.",
|
|
3917
|
+
"removeError": "Failed to remove course.",
|
|
3918
|
+
"addError": "Failed to add course."
|
|
3919
|
+
}
|
|
3920
|
+
},
|
|
3921
|
+
"relatedClasses": {
|
|
3922
|
+
"searchPlaceholder": "Search by code or course...",
|
|
3923
|
+
"pickerPlaceholder": "Select a class...",
|
|
3924
|
+
"pickerEntityLabel": "class",
|
|
3925
|
+
"filters": {
|
|
3926
|
+
"allStatuses": "All statuses"
|
|
3927
|
+
},
|
|
3928
|
+
"status": {
|
|
3929
|
+
"open": "Open",
|
|
3930
|
+
"ongoing": "Ongoing",
|
|
3931
|
+
"completed": "Completed",
|
|
3932
|
+
"cancelled": "Cancelled"
|
|
3933
|
+
},
|
|
3934
|
+
"actions": {
|
|
3935
|
+
"create": "Create new class",
|
|
3936
|
+
"add": "Add"
|
|
3937
|
+
},
|
|
3938
|
+
"empty": {
|
|
3939
|
+
"title": "No classes found.",
|
|
3940
|
+
"description": "Adjust the search or status filter to see results."
|
|
3941
|
+
},
|
|
3942
|
+
"table": {
|
|
3943
|
+
"class": "Class",
|
|
3944
|
+
"status": "Status",
|
|
3945
|
+
"period": "Period",
|
|
3946
|
+
"capacity": "Capacity"
|
|
3947
|
+
},
|
|
3948
|
+
"messages": {
|
|
3949
|
+
"removeSuccess": "Class removed from enterprise.",
|
|
3950
|
+
"removeError": "Failed to remove class.",
|
|
3951
|
+
"addError": "Failed to add class."
|
|
3952
|
+
}
|
|
3953
|
+
}
|
|
3954
|
+
},
|
|
3955
|
+
"courseStructure": {
|
|
3956
|
+
"contextMenu": {
|
|
3957
|
+
"expandedAll": "All expanded",
|
|
3958
|
+
"collapsedAll": "All collapsed",
|
|
3959
|
+
"newSession": "New session",
|
|
3960
|
+
"newLessonHere": "New lesson in this session",
|
|
3961
|
+
"rename": "Rename",
|
|
3962
|
+
"duplicateSession": "Duplicate session",
|
|
3963
|
+
"pasteSession": "Paste session",
|
|
3964
|
+
"deleteSessions": "Delete sessions",
|
|
3965
|
+
"moveUp": "Move up",
|
|
3966
|
+
"moveDown": "Move down",
|
|
3967
|
+
"duplicateLesson": "Duplicate lesson",
|
|
3968
|
+
"pasteLesson": "Paste lesson",
|
|
3969
|
+
"deleteLesson": "Delete lesson"
|
|
3970
|
+
},
|
|
3971
|
+
"mutations": {
|
|
3972
|
+
"course": {
|
|
3973
|
+
"saveSuccess": "Course saved",
|
|
3974
|
+
"saveError": "Error saving course"
|
|
3975
|
+
},
|
|
3976
|
+
"session": {
|
|
3977
|
+
"createSuccess": "Session created",
|
|
3978
|
+
"createError": "Error creating session",
|
|
3979
|
+
"saveSuccess": "Session saved",
|
|
3980
|
+
"saveError": "Error saving session",
|
|
3981
|
+
"deleteSuccess": "Session deleted",
|
|
3982
|
+
"deleteError": "Error deleting session",
|
|
3983
|
+
"reorderError": "Error saving session order — reverted",
|
|
3984
|
+
"duplicateSuccess": "Session duplicated",
|
|
3985
|
+
"duplicateError": "Error duplicating session",
|
|
3986
|
+
"pasteError": "Error pasting sessions"
|
|
3987
|
+
},
|
|
3988
|
+
"lesson": {
|
|
3989
|
+
"createSuccess": "Lesson created",
|
|
3990
|
+
"createError": "Error creating lesson",
|
|
3991
|
+
"saveSuccess": "Lesson saved",
|
|
3992
|
+
"saveError": "Error saving lesson",
|
|
3993
|
+
"deleteSuccess": "Lesson deleted",
|
|
3994
|
+
"deleteError": "Error deleting lesson",
|
|
3995
|
+
"reorderError": "Error saving lesson order — reverted",
|
|
3996
|
+
"moveError": "Error moving lesson — reverted",
|
|
3997
|
+
"moveBatchError": "Error moving lessons — reverted",
|
|
3998
|
+
"duplicateSuccess": "Lesson duplicated",
|
|
3999
|
+
"duplicateError": "Error duplicating lesson",
|
|
4000
|
+
"pasteError": "Error pasting lessons"
|
|
4001
|
+
},
|
|
4002
|
+
"item": {
|
|
4003
|
+
"deleteError": "Error deleting items"
|
|
4004
|
+
}
|
|
3151
4005
|
}
|
|
3152
4006
|
}
|
|
3153
4007
|
}
|